全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 681|回复: 10

这个php报错 请大佬看下检查那里?换了一个服务器出现

[复制链接]
发表于 2019-11-15 15:23:39 | 显示全部楼层 |阅读模式
本帖最后由 有容乃大 于 2019-11-15 15:54 编辑

这个php报错 请大佬看下检查那里?换了一个服务器出现
2个服务器都是宝塔面板
环境都是一样的 nginx+php7.0

Warning: require(): open_basedir restriction in effect. File(/www/wwwroot//framework/bootstrap.inc.php) is not within the allowed path(s): (/www/wwwroot//web/:/tmp/:/proc/) in /www/wwwroot//web/index.php on line 7

Warning: require(/www/wwwroot//framework/bootstrap.inc.php): failed to open stream: Operation not permitted in /www/wwwroot//web/index.php on line 7

Fatal error: require(): Failed opening required '../framework/bootstrap.inc.php' (include_path='.:/www/server/php/56/lib/php') in /www/wwwroot//web/index.php on line 7
发表于 2019-11-15 15:31:49 来自手机 | 显示全部楼层
防跨战. uesr没删吧
 楼主| 发表于 2019-11-15 15:33:49 | 显示全部楼层
本帖最后由 有容乃大 于 2019-11-15 15:35 编辑
why? 发表于 2019-11-15 15:31
防跨战. uesr没删吧


防跨站攻击(open_basedir) 这个是开启
旧的服务器宝塔  新的服务器宝塔里
都是开启的

新的服务器安装的环境和旧的服务器也是一样环境
uesr 是什么产品?
发表于 2019-11-15 15:40:43 来自手机 | 显示全部楼层
有容乃大 发表于 2019-11-15 15:33
防跨站攻击(open_basedir) 这个是开启
旧的服务器宝塔  新的服务器宝塔里
都是开启的

路径也一样?那就给个777试试
 楼主| 发表于 2019-11-15 15:41:31 | 显示全部楼层
why? 发表于 2019-11-15 15:40
路径也一样?那就给个777试试

测试了 给了777 一样不行
所以有点郁闷ing
发表于 2019-11-15 15:43:39 | 显示全部楼层
selinux看一下
发表于 2019-11-15 15:44:25 | 显示全部楼层
LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改.user.ini 里面的open_basedir的值来设置限制访问的目录或删除来移除防跨目录的设置。

.user.ini文件无法直接修改,如要修或删除需要先执行:chattr -i /网站目录/.user.ini
可以使用winscp文件管理、vim编辑器或nano编辑器进行修改。
删除的话rm -f /网站目录/.user.ini 就可以。
修改完成后再执行:chattr +i /网站目录/.user.ini
.user.ini不需要重启一般5分钟左右生效,也可以重启一下php-fpm立即生效。
如果要更改网站目录必须要按上述方法修改防跨目录的设置,否则肯定报错!!

LNMP 1.4或更高版本如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。

LNMP 1.4或更高版本也可以直接使用lnmp安装包 tools/ 目录下的 ./remove_open_basedir_restriction.sh 进行移除。
在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。


参考链接:https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini
发表于 2019-11-15 15:51:47 | 显示全部楼层
/usr/local/nginx/conf/fastcgi.conf   楼上正解,如果是TP或者Laravel之类的框架都需要配置
 楼主| 发表于 2019-11-15 15:54:27 | 显示全部楼层
Evan 发表于 2019-11-15 15:44
LNMP 1.2及更高版本防跨目录功能使用.user.ini,该文件在网站根目录下,可以修改.user.ini 里面的open_base ...

我的是宝塔的
发表于 2019-11-15 16:10:56 | 显示全部楼层
修改fastcgi.conf
注释掉路径那一行即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-2 05:46 , Processed in 0.063780 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表