多语言展示
当前在线:1435今日阅读:23今日分享:25

nginx报Fatal error: require() start.php

今天在部署项目的时候遇到这样一个问题。Fatal error: require(): Failed opening required '/home/www/xx/public/../thinkphp/start.php' (include_path='.:/usr/local/php/lib/php') in /home/www/xx/public/index.php on line 17。在网上找了很多资料,大多数都是无法解决这个问题,有的人还建议使用IIS,我想出了问题毕竟是先想解决办法,逃避永远不是最好的选择。下面就说一下这个问题是如何解决的,可能有其他原因造成的,我这里只说我的解决办法。
工具/原料
1

linux服务器

2

lnmp开发环境; nginx 版本1.13.9; php版本7.1.14。

3

ftp工具 shell工具

方法/步骤
1

当环境部署好之后发现出现下图的错误。如果只报500错误,需要把php.ini的display_errors打开。

2

这时候需要修改一下fastcgi跨目录访问的设置。在nginx安装目录下找到config。里面有一个fastcgi.conf。在里面添加fastcgi_param PHP_ADMIN_VALUE 'open_basedir=/home/www/:/tmp/:/var/tmp:/proc/';如果有这条设置就修改一下后面双引号内的参数。/home/www/是你网站的根目录。

3

然后重启nginx和php-fpmservice nginx restartservice php-fpm restart如果没有注册这个两个服务,就自己找对应命令重启。

4

然后页面就能正常访问了。

注意事项

也有其他的设置方法,比如在vhost的配置文件中设置。但是这时候要注意不要在其它地方也有相同的设置。

推荐信息