https://blog.csdn.net/kchangfu/article/details/78148796
TP5项目在lnmp环境上线出现500错误: failed to open stream
今天准备把之前用tp5框架写的一个小项目上线的服务器上
在windows下没问题,但是上传到服务器后访问接口出现500错误
用的是lnmp的环境,文件上传后把所有权限都打开,都显示
HTTP ERROR 500的错误,服务器内部错误
该网页无法正常运作
mz.kechangfu.cn 目前无法处理此请求。
HTTP ERROR 500
在入口文件index.php中加入
error_reporting(E_ALL);
ini_set('display_errors', '1');
来打印所有错误信息
代码打印出
Warning: 错误 `open_basedir restriction in effect`
@/public/index.php on line 22
三、分析错误内容
查看问题描述以及资料,发现是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/";
只需把
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
改成
`fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";`
解决
open_basedir 配置项的文件权限问题,如果遇到了这样的情况,把php.ini 服务器nginx、Apache的配置文件都检查下。
https://www.kancloud.cn/manual/thinkphp5/336757
ThinkPHP5.0完全开发手册 - Linux 主机环境