содержимое файла с надписью "в разрешении отказано"? [дубликат]


Возможный Дубликат:
отказано в разрешении file_put_contents

Я недавно перенес сервер, и кажется, что file_put_contents не работает на новом сервере.

Все то же самое, папки настроены правильно, но по какой-то причине он не создает файлы и не помещает в них содержимое.

Я создал тест для вашего просмотра, имитирующий то, как мы сейчас делаем это:

file_put_contents("/home/user/public_html/test/test.progress", "test");

Сценарий выполняется в

/home/user/public_html/test.php

/test folder is chmodded to 755 (777 makes no difference)

Я получаю следующую ошибку:

Warning: file_put_contents(/home/user/public_html/test/test.progress) [function.file-put-contents]: failed to open stream: Permission denied in /home/user/public_html/test.php on line 2

Нужно ли мне изменять какие-либо настройки на сервере, чтобы это работало? Что не так?

 8
Author: Adam Arold, 2011-05-13

1 answers

Вероятно, вы используете не того пользователя. Проверьте, использует ли php того же пользователя, которому принадлежит каталог, который вы пытаетесь написать. Php часто использует wwwdata, поэтому, если каталог изменен на 755, это означает, что пользователь, создавший каталог, может записать его, но другие могут только читать. chown для пользователя php или chmod для 777.

Я лично запускаю php на fastcgi, и он работает с уникальным пользователем, поэтому у меня нет этой проблемы, вы можете подумать о переходе на fcgi.

 9
Author: Adam Arold, 2011-05-13 09:44:10