У меня есть рабочий стол для разработки с установленными 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 и его содержимое.
решение1
возможной причиной может быть то, что вы не измениливладелецфайла, хотя вы изменилиразрешения. :)
Итак, сначала вам нужно узнать имя владельца, под которымапачсервер запущен, и назначьте вам того же владельца /var/www/<file/folder>
.
Следуй этим шагам:
найти владельцаhttpd. Выполните эту команду, чтобы получить владельцаhttpd:
sudo ps aux | grep httpd
в первом столбце будет написано, что владелецкто-нибудь. Если вы получите число, подобное1001или любое другое число вместокто-нибудьзатем выполните эту команду, чтобы получить имя владельца:
grep 1001 /etc/passwd
И снова первое поле будет содержать владельца процесса.
Теперь измените владельца файла/папки вwwwккто-нибудь
sudo chown -R somebody /var/www/<path to the file/folder>
Перезагрузите сервер.
sudo /etc/init.d/apache2 restart
Вот и все. Надеюсь, это вам поможет. :)