我正在尝试将php.ini中的open_basedir全局设置为/ tmp /,以便我不必记住在每个Apache Virtual Host指令中设置它。
第二个我在php.ini中设置它,所有脚本都无法工作,因为只允许读取/ tmp /。这不可能吗?文档并不完全清楚,但它似乎应该有效。
答案 0 :(得分:4)
open_basedir
会影响您include()
或require()
以及fopen()
的能力。如果您仍希望仍能访问虚拟用户主目录中的代码,则需要向配置参数添加其他路径:
php_admin_value open_basedir /tmp/:/home/user
This article有一些关于open_basedir的好信息。就个人而言 - 我认为这是一件要避免的事情,如果用户有权访问您不希望他们查看的文件,那么有更好的方法来限制访问。事实上,PHP已经在5.3中弃用了安全模式,并且在PHP 6中将其删除,这让我内心更加快乐。