在使用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/";