【问题标题】:linux apache / PHP read and write permissionslinux apache/PHP 读写权限
【发布时间】:2012-07-19 09:36:55
【问题描述】:

我有一个适用于我们办公室的 PHP 脚本/应用程序,我成功地将它部署到另一个办公室。现在在第三个办公室,某个 glob() 函数返回一个空字符串。

所有办公室都使用debian stable,所以软件包的版本应该是一样的。我能想到的最好的就是该特定目录的权限不足。

我已经这样做了:

  • 将“/share”添加到虚拟主机内的 open_basedir 指令中,不带尾随“/”以使其递归 -> 已验证可使用 phpinfo()
  • 在“/share”上设置权限:“setfacl -Rm d:u:www-data:rwx,u:www-data:rwx /share”,随后我重新挂载了“/share”并重新启动了 apache 以确保新权限正在使用中。 -> 已验证使用“getfacl /share”:确认 www-data 对 /share 及其下的所有目录具有读/写权限
  • 我已确认“安全模式”已关闭
  • 我已将 www-data 添加到拥有 '/share' 的 POSIX 组:'chown -R username/groupname /share' 并由 'ls -l' 验证。该目录上的 POSIX 权限是 'drwxrws---+'

我忽略了什么?

【问题讨论】:

  • apache 安装在哪里..?外部或lampp等..?如果是这样,请使用 chmod 0644 修改所有应用文件夹的权限,例如 /var/www/html/* 或 /opt/lampp/htdocs/
  • apache、PHP、postgres 等都安装在同一台机器上。我尝试将 '/share' chmodding 为 0644、0755、0777、1777,但 glob() 函数仍然返回一个空字符串。感谢您的建议!
  • 我还在 /var/www/ 内的目录上尝试了 glob() 函数,它返回了数组,正如它所记录的那样。这一定是权限问题...

标签: php apache permissions


【解决方案1】:

找到了,当然它是如此明显,以至于我可以打自己的头。包含“/share”的文件夹具有严格的权限,这可能禁止用户“www-data”进入“/share”。 谢谢你和我一起思考......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 2011-07-18
    • 2010-10-26
    • 2016-10-11
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多