我正在尝试在fedora上使用apache启动PHP网站,但我遇到有关写入权限的问题.看来apache没有对某些文件夹的写权限,但我不明白为什么.
我已经检查了httpd.conf,它具有组:apache,用户:apache.
然后我做了:
chown -R apache:apache www并为文件夹设置777权限,但仍然显示:
Warning: file_put_contents(/var/www/public/temp.txt) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/public/newtest.php on line 8
请指教.
更新:
顺便说一句,如果我从命令行创建“ php newtest.php”,则使用组root和用户root创建文件temp.txt.它只是无法从浏览器工作.
解决方法:
Warning: file_put_contents(/var/www/public/temp.txt) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/public/newtest.php on line 8
这里有很多坏东西.
让我们从这样一个事实开始:您确实希望使httpd可写文件与代码保持良好的距离-一定要在单独的目录中,最好是完全位于文档根目录之外.
chown -R apache:apache www and set 777 permissions to the folders
之后,您是否检查了权限实际是什么?顺便说一句,也请注意上述要点-如果您使整个网站都对所有人都可写,那么您只是在自找麻烦.您当然不应该同时更改所有者和权限.
您启用了SELinux吗? (以root身份运行sestatus).如果是这样,那么您要么需要禁用它,要么学习如何配置它-但是我建议您先使用老式权限,然后再禁用SELinux.
C.
标签:apache,file-permissions,php
来源: https://codeday.me/bug/20191106/2001316.html