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 错误

人已赞赏
首页

sspanel主题—不仅仅是好看 (2020/2/10更新)

2020-2-17 19:38:48

首页

sspanel主题—不仅仅是好看 (2020/2/10更新)

2020-2-17 19:38:48

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索