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 服務便可。