open_basediropen_basedir官方介绍open_basedirstring限制PHP可以打开的文件到指定的目录树,包括文件本身。此命令不受安全模式打开或关闭的影响。当脚本尝试使用例如打开文件时fopen()或gzopen(),检查文件的位置。PHP将拒绝打开指定目录树之外的文件。所有符号链接都已解析,因此无法通过符号链接绕过此限制。特殊的价值。指示脚本的工作目录将用作基本目录。但这有点危险,因为脚本的工作目录很容易被chdir()改变。在httpd.conf文件中,open_basedir可以像任何其他配置选项一样用“php_admin_valueopen_basedirnone”关闭(例如在某些虚拟主机中)。在Windows上,用分号分隔目录。在任何其他系统上,用冒号分隔目录。作为Apache模块,会自动继承父目录下的open_basedir路径。用open_basedir指定的限制实际上是前缀,而不是目录名。也就是说,“open_basedir=/dir/incl”也将允许访问“/dir/include”和“/dir/incls”,如果它们存在的话。如果您只想限制对指定目录的访问,请以斜线结束路径名。例如:“open_basedir=/dir/incl/”。注意:在3.0.7中添加了对多个目录的支持。默认设置是允许打开所有文件。总结一下,设置包含目录限制有几种方法1)php.iniopen_basedir=/home/wwwroot/2)ini_set注意:PHP>5.2.3+不推荐使用PHP_INI_ALL,这个设置太随意了。3)apache的httpd.conf中的目录配置"php_admin_valueopen_basedirnone"#关闭php_admin_valueopen_basedir"/home/wwwroot/:/tmp/:/var/tmp/:/proc/"VirtualHostphp_admin_valueopen_basedirinhttpd.conf"/home/wwwroot/:/tmp/:/var/tmp/:/proc/"4)nginxfastcgi.conffastcgi_paramPHP_VALUE"open_basedir=$document_root:/tmp/";5).user.ini文件设置方法同1。
