排查上线无法打开网页的问题
想看下手机端的效果,
于是把项目部署到了测试环境,
一访问,结果出现了上面的问题。
排查问题
打开访问日志,
发现是成功访问到服务器了,
而且是进入到了 access log 里了,
不过状态码返回的是500
这说明服务器这边是没问题的,
应该是 php 那边的问题,
其实一般应该是权限的问题、比如目录操作修改为755、所属组修改为www,
不过还是打开下log确定一下吧。
打开log 的方式,修改 php/etc/php.ini 文件
display_errors = Off
log_errors = On
error_log = /var/logs/php-error.log
修改完毕保存退出,
这时候需要重启 php-fpm,
可参考这篇文章:重启php-fpm
然后 tail -f /var/logs/php-error.log
,
访问一下查看日志即可。
看到错误日志里面打印出如下错误,
[04-Jul-2019 16:09:13 PRC] PHP Warning: require(): open_basedir restriction in effect
说明是 open_basedir 的问题;
这个问题其实在 多模板程序 部署时遇到过,
可以直接在 fastcgi.conf 文件中修改,此文件一般在 /usr/local/nginx/conf/fastcgi.conf
,修改 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
为 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/default/web/xahy-simple-nav-pro";
如果没有就直接增加这一行;
然后 重启php-fpm 再次访问;
发现是ok 的了;
总结,
php为了安全,
禁止跨目录访问,
这也是上线遇到莫名的问题需要排查的点之一,
如果实在毫无头绪,
不妨先打开log重新跑一遍。
还没有评论,来说两句吧...