PHP Fatal error: require(): Failed opening required '/home/wwwroot/all-emai/public/../thinkphp/base.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/all-emai/public/index.php on line 16
最近新开一个服务器,用的LNMP 环境 + ThinkPHP 5.1 安装好,配置好站点之后,访问站点一直报 这个错误。然后服务器 500,开启php错误日志之后也看不到报错。
有问题,问度娘。百度了半天
有两种解决办法:
- 修改 fastcgi.conf ,注释掉
PHP_ADMIN_VALUE参数
/usr/local/nginx/conf
vim fastcgi.conf

2. 修改 fastcgi.conf 在里面添加
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/www/:/tmp/:/var/tmp:/proc/"
但是对我的情况来说,两种都没有生效,虽然没有错误日志,但是基本上可以确定是这个参数的问题。
最后我的解决方法是 (划重点)修改了参数的路径 多加了 ../
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/../:/tmp/:/proc/";
应该是tp5 的目录位置不同导致 Nginx 默认fastcgi跨目录访问的目录不正确了。
本文解决了一位开发者在使用ThinkPHP5.1框架遇到的跨目录访问错误问题,通过调整Nginx的fastcgi_param参数中open_basedir的路径设置,成功解决了因TP5目录结构不同引发的Nginx默认跨目录访问路径不正确的问题。
2389

被折叠的 条评论
为什么被折叠?



