我有一个安装了 Ubuntu 10.04、Apache2 和 PHP 5.3.2 的开发桌面。我已为我的 Web 应用程序根文件夹授予 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
再次,第一个字段将是该流程的所有者。
现在更改文件/文件夹的所有者万维网到某人
sudo chown -R somebody /var/www/<path to the file/folder>
重启服务器
sudo /etc/init.d/apache2 restart
就是这样。希望它能帮到你。:)