今天準備把以前用tp5框架寫的一個小項目上線的服務器上php
在windows下沒問題,可是上傳到服務器後訪問接口出現500錯誤nginx
用的是lnmp的環境,文件上傳後把全部權限都打開,都顯示thinkphp
HTTP ERROR 500的錯誤,服務器內部錯誤windows
該網頁沒法正常運做服務器
mz.kechangfu.cn 目前沒法處理此請求。 HTTP ERROR 500 1 2 3 4 5 6框架
在入口文件index.php中加入ui
error_reporting(E_ALL); ini_set('display_errors', '1'); 1 2 來打印全部錯誤信息.net
代碼打印出rest
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/mz.kchangfu.cn/thinkphp/start.php) is not within the allowed path(s): (/home/wwwroot/mz.kchangfu.cn/public/:/tmp/:/proc/) in /home/wwwroot/mz.kchangfu.cn/public/index.php on line 22code
Warning: require(/home/wwwroot/mz.kchangfu.cn/thinkphp/start.php): failed to open stream: Operation not permitted in /home/wwwroot/mz.kchangfu.cn/public/index.php on line 22
Fatal error: require(): Failed opening required '/home/wwwroot/mz.kchangfu.cn/public/../thinkphp/start.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/mz.kchangfu.cn/public/index.php on line 22 1 2 3 4 5 6 3、分析錯誤內容
查看問題描述以及資料,發現是php open_basedir 配置的問題,php不能引入其受權目錄上級及其以上的文件,默認配置在php.ini(/usr/local/php/etc/php.ini),可是個人open_basedir 並無配置,默認被註釋了。
#在php.ini open_basedir = //沒有打開也是空的 #在.user.ini open_basedir=/home/wwwroot/mz/public:/tmp/:/proc/ #在fastcgi.conf fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 1 2 3 4 5 6 只需把 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 改爲
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";
1 解決
做者:kchangfu 來源:CSDN 原文:https://blog.csdn.net/kchangfu/article/details/78148796?utm_source=copy 版權聲明:本文爲博主原創文章,轉載請附上博文連接!