比如: A项目 B项目 C项目 公共目录
目录限制的情况下:A/B/C之间不能相互访问,也不能访问公共目录,只能访问本身的目录
需求:在A、B、C都可以访问公共目录,但是A/B/C之间不能相互访问,只能访问本身的目录
我的环境是linux centos6.4
前言:我的服务器上有多个项目,为了安全起见,每个项目都做了目录限制,防止别人访问项目之外的目录。近期我发现,我的多个项目有公共的地方,我就想着把这公共的地方提出来,单独放在一个目录里,然后各项目都可以去访问这个公共目录,这样就省的在每个项目目录里都得放这个公共目录,但是在目录限制的情况下是办不到的,经过百度和google,有了一点头绪,再查了一下目录限制的原理,终于找着了解决办法。
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项目也要访问公共目录也可以这样写
php_admin_value open_basedir /www/b:/tmp:/www/public
2.然后重启一下服务器就OK了