PHP:fopen导致“Permission Denied” - 给PHP写入权限?

时间:2014-09-05 21:12:19

标签: php linux apache fopen lamp

我已经实现了一个简单的缓存系统,如果数据库说没有可用的更新,则加载静态HTML,并在数据库显示有更新时重新生成/写入文件。

初步测试表明这有效,但是文件的实际写入不起作用:

Warning: fopen(/var/www/html/cache/en/item_4.php):
failed to open stream: Permission denied

尝试编写所述文件的php脚本位于 /var/www/html/src/p/view_item.php

到目前为止,每个解决方案都假定我知道如何完全操作服务器并使用复杂的术语和推理;这是我第一次使用自己的服务器,有些事情还不清楚。

我已经看到它多次说你应该让用户“nobody”写入对所述文件夹的访问权限(在新的PHP安装上),而有些人说文件本身需要对目录的某种形式的所有权或者Apache本身需要写访问权。

总体而言:没有任何效果,无论是将目录设置为777还是将操作作为另一个用户运行(我只能假设其具有写入权限)。

我如何才能让PHP写入 /var/www/html/cache/en/ 和子文件夹?

我正在运行LAMP,我有shell访问权限。

1 个答案:

答案 0 :(得分:0)

  

我怎样才能让PHP写入/ var / www / html / cache / en /和子文件夹?
  PHP在www-data下运行

chown -R www-data.www-data /var/www/html/cache/en/