所以我在运行 Fedora 的 Web 服务器上安装了 Apache。我正在尝试写入文本文件。
if(!empty($_POST['versionWrite'])){
$file = fopen(APP_DIR."/resources/version.txt", "w");
fwrite($file, $_POST['versionWrite'].PHP_EOL);
fclose($file);
}
当我执行代码时,我得到了这个:
Warning: fopen(/var/www/spumprnagle/resources/version.txt): failed to open stream: Permission denied in /var/www/spumprnagle/head.php on line 28
Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/spumprnagle/head.php on line 29
Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/spumprnagle/head.php on line 30
这发生在每个处理文件的脚本中。而且我不知道该怎么做才能授予 Apache 编辑文件的权限。
感谢您的宝贵时间 :)。
最佳答案
好的,我为那些在 Fedora 上搜索答案的人添加了这个答案。我将文件权限更改为 777 并将文件所有权更改为 apache:apache 但它一直抛出相同的错误。最后我发现在某些版本的 Fedora 中 SElinux 会阻止 Httpd 写入文件。解决方案是禁用 SElinux,如下所示:
vim /etc/selinux/config
然后按如下方式编辑文件:
SELINUX=disabled
然后重启。 它对我有用。 快乐编码。
关于php - 软呢帽 PHP "failed to open stream: Permission denied",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45524175/