在使用lnmp配置新項目的過程當中,報出以下錯誤.php
**Warning**: require(): open_basedir restriction in effect. File(/p/lv/vendor/autoload.php) is not within the allowed path(s): (/var/www/el/:/tmp/:/proc/) in **/var/www/el/index.php** on line **24** **Warning**: require(/var/www/el/vendor/autoload.php): failed to open stream: Operation not permitted in **/var/www/el/index.php** on line **24** **Fatal error**: require(): Failed opening required '/var/www/el/vendor/autoload.php' (include\_path='.:/usr/local/php/lib/php') in **/var/www/el/index.php** on line **24**
報錯日誌顯示 open_basedir
不在 open_basedir
的限定目錄裏面.那麼在哪裏能夠配置呢? 答案是php.ini
和nginx.conf
nginx
咱們先來看看php.ini
, 發現並無配置 open_basedir
ui
而後再去看看nginx
配置,發現nginx的配置文件比較多 引用比較複雜,不要緊,咱們使用grep -rn
rest
➜ nginx grep -rn open_basedir ./ ./conf/fastcgi.conf:27:fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; ./conf/fastcgi.conf:28:fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
發現 fastcgi.conf
中配置了open_basedir $document_root
, 那麼咱們只須要再添加一個新的默認目錄便可.日誌
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/var/www/el/";