【问题标题】:PHP can't write outside of the document root no matter whatPHP无论如何都不能写在文档根目录之外
【发布时间】:2012-02-21 19:40:11
【问题描述】:

运行带有典型 httpd 安装的 CentOS 5.7 的 VM。

我正在尝试将文件写入/var/www/html 之外的文件夹,比如说/var/somedir

  • 我已经用 777 修改了 somedir
  • 我把它改成 apache:apache(root:apache 也不起作用)
  • PHP 的安全模式已关闭
  • PHP 的 doc_root 为空(即doc_root =)

我无法使用rename() 将某些内容移出文档根目录,也无法使用 fwrite() 在其外部创建文件。

只是为了验证,我从一个 php 文件中执行了 whoami,它在浏览器中访问时回显/返回了 apache。

到目前为止,我想我已经在 google 上进行了大约 200 次搜索,但我想我仍然缺少一些东西。

【问题讨论】:

  • 您是否使用phpinfo() 检查了您的open_basedir 设置?
  • 指向somedir的目录是否也需要被apache用户读取?
  • open_basedir 已被注释掉,所以从我读到的内容看来,在这种情况下它不会是一个因素???
  • 只有 somedir 需要被 Apache 读/写。
  • open_basedir 不能在phpinfo() 输出中注释掉...帮自己和我们一个忙,检查一下......

标签: php apache centos chmod chown


【解决方案1】:

事实证明 selinux 实际上已启用,尽管我的“linux 人”向我保证没有!

【讨论】:

猜你喜欢
  • 2011-03-19
  • 2014-12-18
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 2016-10-17
  • 2014-02-19
  • 1970-01-01
  • 2019-03-27
相关资源
最近更新 更多