![允许 apache 在目录中进行 fopen/write 吗?](https://linux22.com/image/491083/%E5%85%81%E8%AE%B8%20apache%20%E5%9C%A8%E7%9B%AE%E5%BD%95%E4%B8%AD%E8%BF%9B%E8%A1%8C%20fopen%2Fwrite%20%E5%90%97%EF%BC%9F.png)
我最近刚刚设置了 Apache,我正在设置一个基本网站,现在遇到了权限问题。首先,
/www/ /www/站点名称_com
归 meder:meder 所有
并且权限递归为 755(我是这样认为的)。
我设置了一个虚拟主机,现在在 sitename_com 中有一个“foo.php”,我试图在该目录中打开(创建一个新文件)。它将位于
/www/sitename_com/en/file.xml
然而 Apache 抱怨道:
警告:fopen(en/file.xml)[function.fopen]:无法打开流:权限被拒绝
www-user 是 Apache 对吧?我需要授予它对我的用户组 (meder:meder .. 不是真正的“组”) 的权限。
提前致谢。
答案1
哎呀。我最后确实做了……
- chmod -R meder:www-data BETA_sitename_com/ 钥匙
- chmod -R 770 BETA_sitename_com/
看起来对吗?有什么怪异之处吗?似乎有效。
答案2
777 绝对会让你获得对文件的写入权限。但为了确保安全,你只需要将其设置为 757 或 775 - 以允许 apache 写入文件为准。
答案3
您可能考虑的另一个想法是使用 apache 的“用户”配置指令并以 meder 用户身份运行 apache 网站。然后文件/目录可以分别具有 644/755 权限。
答案4
如果它是一个 fopen 命令并且涉及 php,您可以检查 php.ini