PHP «fopen» не работает в БЕЗОПАСНОМ РЕЖИМЕ Ограничение в папке, созданной через «mkdir»

Я использую один скрипт для создания папки на сервере с помощью PHP, например:

mkdir("folder/test/", 0777);

Затем я использую другой скрипт, чтобы создать файл и поместить в него некоторое содержимое, например:

fwrite( fopen('folder/test/filename', 'w'), 'Test text' );

Однако это приводит к:

Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is XXXXX is not allowed to access ...

Однако если я попытаюсь создать файл в родительском каталоге, например:

fwrite( fopen('folder/filename', 'w'), 'Test text' );

это работает нормально. Родительская папка («папка» в приведенном выше примере) устанавливается на 777 «вручную», поэтому «Ограничение БЕЗОПАСНОГО РЕЖИМА» появляется только тогда, когда я сначала создаю папку с помощью mkdir, а затем пытаюсь писать в ту же папку. Как это может быть?


person Matte    schedule 20.09.2012    source источник
comment
Какой владелец: группа у новой папки?   -  person Louis Huppenbauer    schedule 20.09.2012
comment
Проверьте разрешения для тестовой папки. Возможно, БЕЗОПАСНЫЙ РЕЖИМ не позволяет вам создать каталог с разрешениями 777. Это может помочь.   -  person Vlad    schedule 20.09.2012
comment
Эм.. как проверить? На самом деле просмотр разрешений в терминале показывает dr-xr-xr-x для вновь созданной папки, кажется, что PHP не следует приказам и устанавливает для него значение 777, как в сценарии. Может ли это иметь какое-то отношение к проблеме БЕЗОПАСНОГО РЕЖИМА?   -  person Matte    schedule 20.09.2012
comment
@VladTeodorescu Хороший совет, попробовал, теперь права доступа к папке: drwxrwxrwx. Однако ограничение БЕЗОПАСНОГО РЕЖИМА все еще появляется... Есть идеи?   -  person Matte    schedule 20.09.2012


Ответы (1)


в соответствии с ручным безопасным режимом устарел с php 5.3.0. попробуйте обновить версию php или отключить безопасный режим в php ini

person depz123    schedule 20.09.2012
comment
Это было бы отличной идеей, но поскольку я не владелец сервера, это не вариант. Я ищу обходной путь для запуска текущей версии (5.1.6). (Поверьте мне, я пытался убедить их обновиться раньше, пока безуспешно...). - person Matte; 20.09.2012