У меня есть рабочий стол для разработки, на котором установлены Ubuntu 10.04, Apache2 и PHP 5.3.2. Я дал 0777 разрешений для корневой папки моего веб-приложения, и Apache2 также работает под текущим именем пользователя. Но иногда получаются следующие файлы:
file_put_contents (/ var / www / kohana_project / application / cache / kohana_find_file_paths): не удалось открыть поток: разрешение отклонено.
Для каждого запроса выше файл необходимо обновить и выполнить, но ошибка возникает редко. У кого-нибудь есть идеи, как решить эту проблему?
И одна вещь, у текущего зарегистрированного пользователя и www-data есть полные права на каталог kohana_project и его содержимое.
Возможная причина заключается в том, что вы не изменили владельца файла, хотя вы изменили разрешения . :)
Итак, сначала вы должны получить имя владельца, под которым работает сервер apache , и назначить вам того же владельца /var/www/<file/folder>
.
Выполните следующие действия:
найдите владельца httpd . Выполните эту команду, чтобы получить владельца httpd :
sudo ps aux | grep httpd
. Первый столбец будет владельцем, скажем , кем-то . Если вы получите номер, например 1001 или любой другой номер вместо , кто-нибудь , то выполните эту команду, чтобы получить имя владельца:
grep 1001 /etc/passwd
Снова первое поле будет владелец процесса.
Теперь смените владельца файла / папки с www на somebody
sudo chown -R somebody /var/www/<path to the file/folder>
Перезагрузите сервер
sudo /etc/init.d/apache2 restart
Вот и все. Надеюсь, это поможет вам. :)