lnmp環境 open_basedir restriction in effect 錯誤解決
阿新 • • 發佈:2018-11-03
一、開發環境:
Linux CentOS 6.7 PHP 5.6.15 nginx 1.10.1
二、問題描述
專案訪問的時候報如下錯誤:
Warning : require(): open_basedir restriction in effect. File(/data/www/basic/vendor/autoload.php) is not within the allowed path(s): (/data/www/basic/web/:/tmp/:/proc/) in
/data/www/basic/web/index.php
on line
5
Warning : require(/data/www/basic/vendor/autoload.php): failed to open stream: Operation not permitted in /data/www/basic/web/index.php on line 5
Fatal error : require(): Failed opening required '/data/www/basic/web/../vendor/autoload.php' (include_path='.:/php/includes') in
/data/www/basic/web/index.php
on line
5
三、問題解決
1、nginx錯誤日誌顯示,訪問指令碼不在 open_basedir的限定目錄裡面,配置open_basedir 一般會在php.ini 或 nginx 配置檔案裡面。
2、首先檢測php.ini 我發現並沒有配置 open_basedir 。
3、然後檢測nginx配置,在nginx配置檔案 nginx.conf 新增
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
4、在nginx專案配置檔案中新增 set $basedir "open_basedir= $document_root :/tmp/:/proc/:/php/includes/:/home";
$document_root 為網站目錄,例如,網站目錄 /data/ www /blog,應該配置成如下: set $basedir "open_basedir= /data/ www/blog:/tmp/:/proc/:/php/includes/:/home";
配置完之後重啟nginx即可
Linux CentOS 6.7 PHP 5.6.15 nginx 1.10.1
二、問題描述
專案訪問的時候報如下錯誤:
Warning : require(): open_basedir restriction in effect. File(/data/www/basic/vendor/autoload.php) is not within the allowed path(s): (/data/www/basic/web/:/tmp/:/proc/) in
Warning : require(/data/www/basic/vendor/autoload.php): failed to open stream: Operation not permitted in /data/www/basic/web/index.php on line 5
Fatal error : require(): Failed opening required '/data/www/basic/web/../vendor/autoload.php' (include_path='.:/php/includes') in
三、問題解決
1、nginx錯誤日誌顯示,訪問指令碼不在 open_basedir的限定目錄裡面,配置open_basedir 一般會在php.ini 或 nginx 配置檔案裡面。
2、首先檢測php.ini 我發現並沒有配置 open_basedir 。
3、然後檢測nginx配置,在nginx配置檔案 nginx.conf 新增
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
4、在nginx專案配置檔案中新增 set $basedir "open_basedir= $document_root :/tmp/:/proc/:/php/includes/:/home";
$document_root 為網站目錄,例如,網站目錄 /data/ www /blog,應該配置成如下: set $basedir "open_basedir= /data/ www/blog:/tmp/:/proc/:/php/includes/:/home";
配置完之後重啟nginx即可