Я нахожусь на общем хосте (с безопасным режимом), и у меня возникли проблемы с созданием каталогов, на которые PHP действительно может писать. Скажем, моя учетная запись называется matty
, а учетная запись apache называется web
.Создать каталог с пользователем скрипта как владельца
Когда я загружаю скрипты с использованием FTP, они принадлежат matty
, и они также запускаются под пользователем matty
. Но по какой-то причине, если я использую mkdir
или file_put_contents
для создания нового каталога или файла, он принадлежит пользователю web
. Безопасный режим останавливает мои скрипты от добавления файлов в новый каталог, потому что UID не совпадают. Все существование учетной записи web
не имеет для меня никакого смысла, поскольку все мои сценарии работают под моим собственным именем пользователя, и это происходит только тогда, когда скрипты создают свои собственные файлы/dirs.
Я попытался использовать chown('directory', 'matty')
сразу после создания, но получить сообщение об ошибке «Не владелец в ...». Мне просто нужно создавать файлы и каталоги под именем пользователя исполняемого в настоящее время скрипта или некоторым жестко запрограммированным именем пользователя.
Не кажется возможным на этом хосте. У меня только FTP-доступ, а поля имени пользователя/группы выделены серым цветом, поэтому chown должен быть отключен. Я думаю, что я могу написать, нужно написать оболочку, которая создает файлы с использованием FTP, так как файлы, созданные вручную через FTP, работают нормально. Мой хост никогда не отключит безопасный режим, поэтому я полагаю, что это единственное последнее средство? – Matt
@Matt «Мой хост никогда не отключит безопасный режим» переместите хозяина ТЕПЕРЬ, его просто не стоит боль, чтобы иметь дело с дерьмовым хозяином, когда есть тысячи хороших. –
Это сложная ситуация. Мы получаем этот хостинг бесплатно от огромного быстрого локального центра обработки данных. Было бы стыдно потерять все это, но вы правы - это была страшная боль, пытающаяся заставить все работать на этом хосте. – Matt