lnmp中關於 open_basedir 的報錯

在使用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.ininginx.confnginx

咱們先來看看php.ini, 發現並無配置 open_basedirui

而後再去看看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/";
相關文章
相關標籤/搜索