这个问题之前遇到过很几回,今天恰好遇到一个朋友又问我来着,解决完了,想着就给记录一下吧,问题无论大小,记录下来 ~~~
固然,这个并非TP5框架问题了,你换一个框架使用LNMP的的命令模式配置或者手动文件配置项目也会出现这种状况,那么为何会出现呢?
以TP5为例:
首先出错了,会出现这样一个页面(500…)php
这个时候别着急,你得知道这是为何出现这个500错误。来个简单的,在入口文件 index.php
中加入:markdown
//打开全部错误报错级别 error_reporting(E_ALL); ini_set('display_errors', '1');
运行,如今你会看到这样一个错误信息:
看到这个报错信息就很清楚了,这是由于框架
因为 open_basedir 配置的问题致使php不能引入其受权目录上级及其以上的文件形成。
知道了缘由就好解决了,咱们先来看一下第一个关于open_basedir
的配置注意:如下全部路径信息仅供参考。
atom
//php.ini文件 path:/usr/local/php/etc/php.ini ;open_basedir =
若是不出意外,你的是默认注释状态,不用理会,来看下一个spa
//.user.ini文件 path:/home/wwwroot/default/.user.ini //找不到使用命令 find / -name .user.ini open_basedir=/home/wwwroot/default:/tmp/:/proc/
到这里我想就很明白了,就是由于存放项目路径问题,已经存在设置的open_basedir
值和项目目录不匹配,没法受权目录,再来看另外一个地方.net
//fastcgi.conf文件 path:/home/wwwroot/default/.user.ini //找不到使用命令 find / -name fastcgi.conf //最下面一行 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/";
如今想要该项目运行起来只须要修改fasrcgi.conf
中的这句话为:code
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/:/";
保存退出,如今重启运行便可。blog
固然这个地方这么作是不太完善的,你须要的是对每一个项目作配置,这个地方其实不须要修改,可是这样确实能够解决问题,好比,你能够这样,在php.ini
中添加这样两行代码token
[HOST=你的域名] open_basedir=/home/wwwroot/项目文件夹/:/tmp/ [PATH=/home/wwwroot/wwwroot/项目文件夹/public]