php为了安全性考虑,有一项 open_basedir 的设置。根据你web服务器环境,open_basedir能够在几个地方设置。php
首先 在php.ini中配置。web
;open_basedir =
若是发现配置项前是有分号,代表php.ini中没有该设置。那就极可能是在 php-fpm 中的 fastcgi.conf中配置了。php-fpm中的配置会覆盖php.ini的配置。安全
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/:/you_web_path";
/you_web_path 是你要添加的让php能够访问的路径。多个路径直接分号隔开
若是也给服务器有多个项目,不管是在php.ini或者fastcgi.cong中设置,都是针对全部项目。那能不能只针对某个项目设置呢?
答案是确定的。还能够在项目根目录中经过 .user.ini 进行配置。
.user.ini配置
首先,要使.user.ini生效,要设置php.ini 中的
user_ini.filename = ".user.ini" user_ini.cache_ttl = 300
关于这两个配置的意义,请看php手册 http://php.net/manual/zh/configuration.file.per-user.php服务器
注释掉 fastcgi.conf 中的 open_basedir 的配置。php-fpm
在项目根目录 建立 .user.ini文件,写入以下内容spa
open_basedir=/tmp/:/proc/:/you_web_path
/you_web_path 是你要添加的让php能够访问的路径。多个路径直接分号隔开
重启一下php-fpm 服务便可。