SSpanel面板搬迁后遇到的HTTP500问题解决

释放双眼,带上耳机,听听看~!

问题现象
在搬迁 sspanel 后,运行环境与之前的机器一模一样,数据库和配置文件也都正常,但是打开网站,发现报错 HTTP 500 ,且没有任何提示。

排查思路
根据HTTP 500这个报错的代码,判断是内部服务器错误,但是此提示过于笼统,需要一步步排查。
首先判断是否是 nginx 的错误,将 sspanel 网站目录下放置一个 index.html ,重启后发现能正常解析,排除了 nginx 的解析错误。
然后再开启 sspanel 的 debug 模式(在config/.config.php中开启),发现依然报错 HTTP 500,排除了程序自身的错误。

vim /home/wwwroot/sspanel/config/.config.php
$System_Config[‘debug’] = true

那么剩下了的只剩下了 PHP 的问题了。
开启 php.ini 文件中的错误提示,找出报错原因。

vim /usr/local/php/etc/php.ini
display_errors = On
display_startup_errors = On
log_errors = On

将以上三个选项全部开启,然后重启 php-fpm,运行 /etc/init.d/php-fpm restart

果然,打开 PHP 的报错提示后,打开网站主页,发现报如下错误:

Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/sspanel/bootstrap.php) is not within the allowed path(s): (/home/wwwroot/sspanel/public/:/tmp/:/proc/) in /home/wwwroot/sspanel/public/index.php on line 7
Warning: require(/home/wwwroot/sspanel/bootstrap.php): failed to open stream: Operation not permitted in /home/wwwroot/sspanel/public/index.php on line 7
Fatal error: require(): Failed opening required ‘/home/wwwroot/sspanel/public/../bootstrap.php’ (include_path=’.:/usr/local/php/lib/php’) in /home/wwwroot/sspanel/public/index.php on line 7

解决方法
由报错提示可知,这是由于 PHP 的跨目录访问而造成的,具体原因不再赘述,解决方法如下:

vim /usr/local/nginx/conf/fastcgi.conf
# 方案1:
注释掉
“open_basedir=$document_root/:/tmp/:/proc/”;

# 方案2:
将 open_basedir 后面的值修改为网站的解析目录
“open_basedir=/home/wwwroot/sspanel/:/tmp/:/proc/”;

重启 nginx ,正常打开网站,Over !

参考文章:lnmp 环境require(): open_basedir restriction in effect 错误

人已赞赏
首页

hive 之 row_number等窗口分析函数用法

2019-12-25 0:33:57

首页

CloudFlare Workers 反代 V2Ray

2019-12-27 2:33:49

现在起,让您的站点焕然一新

SSpanel-Malio主题,不仅仅是好看

如果点击咨询购买按钮无法唤起QQ,请手动添加QQ2130482224(请注明主题咨询)
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索