Apache + PHP在UNIX上写入权限

我试图在Fedora上用apache启动PHP站点,而且我有写权限的问题。 它看起来像apache没有写入权限的一些文件夹,但我不明白为什么。

我检查了httpd.conf,它有组:apache,用户:apache。 然后,我做了:chown -R apache:apache www和设置777权限的文件夹,但它仍然说:

警告:file_put_contents(/var/www/public/temp.txt)[function.file-put-contents]:未能打开stream:权限在第8行的/var/www/public/newtest.php中被拒绝

请指教。

更新:顺便说一句,如果我从命令行“php newtest.php”,文件temp.txt创build组root和root用户。 它只是不从浏览器工作。

警告:file_put_contents(/var/www/public/temp.txt)[function.file-put-contents]:未能打开流:权限在第8行的/var/www/public/newtest.php中被拒绝

这里有太多不好的东西。

让我们从一个事实开始,你真的想把httpd可写文件远离你的代码 – 当然在一个单独的目录中,最好在文档根目录之外。

chown -R apache:apache www并设置777权限到文件夹

你以后检查了什么权限? 顺便说一句,也看到上面的一点 – 如果你已经让你的整个网站都是可写的,那么你只是在惹麻烦。 你肯定不会改变主人和权限。

你有SELinux启用? (以root身份运行sestatus)。 如果是这样,那么你需要禁用它,或者学习如何配置它 – 但是我建议你先去处理老式的权限,然后禁用SELinux。

C。

使chmod 775到newtest.php;)

ls -la / var / www / public

只是为了检查:-)

你有没有尝试触摸temp.txt,只是改变file_put_contents()并添加FILE_APPEND标志?

我建议切换Apache为mod_itk为mpm和运行具有所有者文档根目录的权限,并包含PHP脚本的特定虚拟主机。