is not within the allowed path ?

发布于 2022-09-05 08:26:40 字数 914 浏览 11 评论 0

描述

  • 阿里云 centos6.5
  • LNMP一键安装
  • thinkphp3.2

页面出现500错误, 把错误开启 ini_set('display_errors','1'); error_reporting(E_ALL); 出现下面错误.

Warning: require(): open_basedir restriction in effect. File(/xxxx/wwwroot/api.xxxx.com/ThinkPHP/ThinkPHP.php) is not within the allowed path(s): (/xxxx/wwwroot/api1.xxxx.com/:/tmp/) in /xxxx/wwwroot/api.xxxx.com/index.php on line 35 Warning: require(/xxxx/wwwroot/api.xxxx.com/ThinkPHP/ThinkPHP.php): failed to open stream: Operation not permitted in /xxxx/wwwroot/api.xxxx.com/index.php on line 35 Fatal error: require(): Failed opening required './ThinkPHP/ThinkPHP.php' (include_path='.:') in /xxxx/wwwroot/api.xxxx.com/index.php on line 35

前因

项目由于磁盘空间不足就新增加了一块, 由于原来的移动到新挂载的磁盘中.就出现以上问题. 但是通过https访问却是正常的. http访问就会现在上面错误.

关于配置

php.ini中open_basedir 并没有启用

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅一夜美梦 2022-09-12 08:26:40

使用的是LNMP一键安装的环境, 当使用其vhost add 来增加虚拟主机时会在php.ini增加open_basedir. 当项目移动目录时, 而没有更改php.ini里的信息就会出现上面问题.

可以修改/usr/local/php/etc/php.ini在末尾里加入:

[HOST=www.xxx.net]
open_basedir=/home/wwwroot/www.xxx.net/:/tmp/
[PATH=/home/wwwroot/www.xxx.net]
open_basedir=/home/wwwroot/www.xxx.net/:/tmp/

其它可能导致出现这个问题

ll -a //查看隐藏文件

.user.ini //如果网站目录有这个文件, 请查看参考答案2

参考答案1
参考答案2

蓝眸 2022-09-12 08:26:40

如果linux环境是宝塔安装的,可以尝试以下解决方案

一. 点击网站

clipboard.png

二.点击设置

clipboard.png

三. 将防跨站攻击的选项去掉

clipboard.png

四.重启php

clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文