假如php.ini 里没有开 open_basedir 注释
那么在nginx里
加上这一段 但是需要注意
在fastcgi.conf里 要注释掉
每一个单独的程序 单独指定路径
下面为参考的 但是做了个补充 补充在上面就是
ThinkPHP5.0部署于Linux中白屏或500错误解决方案
ThinkPHP5.0部署于Linux中白屏或500错误解决方案
问题描述:
部分 Linux 主机设置了 open_basedir(可将用户访问文件的活动范围限制在指定的区域,通常是入口文件根目录的路径) 选项,导致 ThinkPHP5 访问白屏或者报错。
Safari 直接白屏,而 Chrome 报告了500错误,错误信息如下:
The www.xx.xom page isn’t working
www.xx.com is currently unable to handle this request.
HTTP ERROR 500
- 1
- 2
- 3
- 4
问题诊断
ThinkPHP5.0
官方手册称:
如果把ThinkPHP5部署在了LAMP/LNMP环境上很有可能出现白屏的情况,这个时候需要开启 php 错误提示来判断是否是因为设置了open_basedir选项出错。
开启错误提示:
打开 php.ini
搜索 display_errors
,把 Off
修改为 On
就开启了 php 错误提示
。
lnmp 的 php.ini 位置在/usr/local/php/etc/php.ini
注意,要修改的是:
display_errors = Off
//修改为↓↓↓↓↓↓↓
display_errors = On
- 1
- 2
- 3
而不是:
; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
- 1
- 2
- 3
- 4
这时再访问之前白屏的页面就会出现错误信息。如果错误信息如下那么很有可能就是因为open_basedir
的问题。
arning: require(): open_basedir restriction in effect. File(/home/wwwroot/xx/thinkphp/start.php)