【发布时间】:2016-08-14 09:45:02
【问题描述】:
我在 lubuntu 上运行 apache 服务器,并尝试使用 php 编写用户可以下载的文本文件。我更改了权限:
sudo chmod 775 /var/www -R
但是我执行脚本的时候还是报错:
警告:fopen(3):未能打开流:权限被拒绝 /var/www/myPage.php 第 217 行无法打开文件!
这里是php代码:
$filename = $liste[0][0];
$fh = fopen($filename, "x+") or die("Could not open file!");
fwrite($fh, "foo") or die("Could not write to file");
fclose($fh);
我需要更改其他权限吗?还是有另一种方法可以做我想做的事情? 谢谢
【问题讨论】:
-
尝试通过右键单击该文件夹来检查该文件夹的权限。你会看到写权限不存在/
-
ls -l /var/www/myPage.php的结果是什么?哪个用户和组拥有该文件? -
尝试使用绝对路径写入文件。 fopen-perm-denied
-
使用
chmod命令,您已经为文件的所有者和组设置了完全访问权限。确保拥有该文件的是www-data或www-data在文件组中。 -
请注意 chmod 775 有点宽泛/宽松。在大多数情况下,目录的默认值 755 和文件的默认值 644 应该足够了。这通常是需要解决而不是扩大权限的所有权问题。