PHP 无法写入 Web 服务器,即使使用 chown
PHP can't write to web server, even with chown
所以我试图在我的 CentOS 7 Apache 服务器上设置 FileRun,但是它说 PHP 没有任何写入权限。我试过使用 chown
和 chmod
(都使用 sudo
),但这没有任何区别。我找到了重复我刚才说的错误日志,如果你需要的话:
[08-Feb-2017 19:35:50 Europe/London] PHP Warning: file_put_contents(/var/www/html/system/data/temp/cache.translation.english.tmp.php): failed to open stream: Permission denied in /var/www/html/system/classes/vendor/FileRun/Utils/Cache.php on line 17
还有什么我可以尝试的吗?
编辑: 我被要求包括 ls -ltr
的输出,所以给你。这就是我得到的。
(很抱歉将其作为图像提供,但将其粘贴为文本意味着我必须正确设置格式。)
我不能post在这里发表评论,但试试
chown -R apache:apache /var/www/html
另外,如果你说
,它会列出什么
ls -l /var/www
和
ls -l /var/www/html
文件的所有者或文件的组所有者也必须 be/contain 与列为您网站内容所有者的用户相同。在这种情况下,var/www/html/system/classes/vendor/FileRun/Utils/Cache.php
的所有者
我猜 selinux 正在悄悄地阻止你。
尝试 setenforce permissive
看看它是否神奇地开始工作。
然后阅读这篇短文。
请尝试:
chown -R apache:apache /var/www/html/
和
semanage fcontext -a -t httpd_sys_rw_content_t 'data'
然后
setsebool -P httpd_unified 1
重新启动 httpd 和 php-fpm 守护进程。
systemctl restart httpd ; systemctl restart php-fpm
打开浏览器
所以我试图在我的 CentOS 7 Apache 服务器上设置 FileRun,但是它说 PHP 没有任何写入权限。我试过使用 chown
和 chmod
(都使用 sudo
),但这没有任何区别。我找到了重复我刚才说的错误日志,如果你需要的话:
[08-Feb-2017 19:35:50 Europe/London] PHP Warning: file_put_contents(/var/www/html/system/data/temp/cache.translation.english.tmp.php): failed to open stream: Permission denied in /var/www/html/system/classes/vendor/FileRun/Utils/Cache.php on line 17
还有什么我可以尝试的吗?
编辑: 我被要求包括 ls -ltr
的输出,所以给你。这就是我得到的。
(很抱歉将其作为图像提供,但将其粘贴为文本意味着我必须正确设置格式。)
我不能post在这里发表评论,但试试
chown -R apache:apache /var/www/html
另外,如果你说
,它会列出什么ls -l /var/www
和
ls -l /var/www/html
文件的所有者或文件的组所有者也必须 be/contain 与列为您网站内容所有者的用户相同。在这种情况下,var/www/html/system/classes/vendor/FileRun/Utils/Cache.php
的所有者我猜 selinux 正在悄悄地阻止你。
尝试 setenforce permissive
看看它是否神奇地开始工作。
然后阅读这篇短文。
请尝试:
chown -R apache:apache /var/www/html/
和
semanage fcontext -a -t httpd_sys_rw_content_t 'data'
然后
setsebool -P httpd_unified 1
重新启动 httpd 和 php-fpm 守护进程。
打开浏览器systemctl restart httpd ; systemctl restart php-fpm