关于PHP文件包含目录配置 open_basedir

open_basedir可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号”.”来代表当前目录。注意用open_basedir指定的限制实际上是前缀,而不是目录名。
  举例来说: 若”open_basedir = /dir/user”, 那么目录 “/dir/user” 和 “/dir/other”都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。
  open_basedir也可以同时设置多个目录,在Windows中用分号分隔目录,在任何其它系统中用冒号分隔目录。当其作用于Apache模块时,父目录中的open_basedir路径自动被继承。
  Apache+PHP配置方法有三种:
  方法一:在php.ini里配置
  open_basedir = .:/tmp/
  方法二:在Apache配置的VirtualHost里设置(httpd-vhosts.conf)
  php_admin_value open_basedir .:/tmp/
  方法三:在Apache配置的Direcotry里设置
  php_admin_value open_basedir .:/tmp/
  关于三个配置方法的解释:
  a、方法二的优先级高于方法一,也就是说方法二会覆盖方法一;方法三的优先级高于方法二,也就是说方法三会覆盖方法二;
  b、配置目录里加了“/tmp/”是因为php默认的临时文件(如上传的文件、session等)会放在该目录,所以一般需要添加该目录,否则部分功能将无法使用;
  c、配置目录里加了“.”是指运行php文件的当前目录,这样做可以避免每个站点一个一个设置;
  d、如果站点还使用了站点目录外的文件,需要单独在对应VirtualHost设置该目录;

未经允许不得转载:广州网络营销团队 » 关于PHP文件包含目录配置 open_basedir

赞 (0)