好比: A项目 B项目 C项目 公共目录
目录限制的状况下:A/B/C之间不能相互访问,也不能访问公共目录,只能访问自己的目录
需求:在A、B、C均可以访问公共目录,可是A/B/C之间不能相互访问,只能访问自己的目录php
个人环境是linux centos6.4linux
前言:个人服务器上有多个项目,为了安全起见,每一个项目都作了目录限制,防止别人访问项目以外的目录。近期我发现,个人多个项目有公共的地方,我就想着把这公共的地方提出来,单独放在一个目录里,而后各项目均可以去访问这个公共目录,这样就省的在每一个项目目录里都得放这个公共目录,可是在目录限制的状况下是办不到的,通过百度和google,有了一点头绪,再查了一下目录限制的原理,终于找着了解决办法。centos
1.在你的项目的vhost下的conf配置文件里加上一句:安全
php_admin_value open_basedir 项目目录路径:临时文件目录路径:公共目录路径
A项目路径:/www/a 临时文件目录路径::/tmp【这个通常都是固定的】 公共目录路径:/www/public
如:php_admin_value open_basedir /www/a:/tmp:/www/public服务器
注解:这样在A项目下就能够访问本项目下的文件和公共目录的文件了,其中加了一个临时文件目录,是为了上传文件作准备的,正常状况下都是须要的。若是B项目也要访问公共目录也能够这样写google
php_admin_value open_basedir /www/b:/tmp:/www/publicspa
2.而后重启一下服务器就OK了原理