PHP错误:“open_basedir restriction in effect”的解决方法
发表于:2024-10-22 11:17:37浏览:1452次
收藏
迁移服务器的时,发现网站配置好了,composer也更新了,但是访问入口文件的时候有提示报错:
Warning:file_exists(): open_basedir restriction in effect. File(./license.php) is not within the allowed path
好了,来看下问题应该怎么解决。
产生原因
在 PHP的配置文件:php.ini中有关于此函数的定义:
主要是限制PHP文件读取规定目录下的文件。接下来我们就解决这个问题!
解决思路
现在的PHP框架大多都引入了Composer包管理工具,而且多是单入口的,从入口文件中引入 外部 Vendor目录下的 autoload.php。如果在 Nginx或Apache等web服务器中,指定项目下名为public的文件夹作为web根目录,此时就需要改PHP的配置文件或者web服务器的配置文件。
解决方法
首先检查在php.ini文件中的配置,如果没有注释掉,那就在此处修改
php.ini
open_basedir = /tmp/:/proc/:/wwwroot/laravel/;
保存重启PHP-fpm
如果在php.ini中已经注释掉了,那么就检查在fastcgi.conf内的配置
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/tmp/:/proc/:/wwwroot/laravel"
保存重启nginx
还有一种配置 .user.ini
在项目的下修改 .user.ini 添加 上述的配置即可
如果是使用宝塔面板这类的管理软件,在网站配置下勾选掉“防跨站攻击”选项,如下图所示。
写在最后
深究问题的来龙去脉,才是解决问题的最佳办法
推荐文章
- git如何删除本地所有未提交的更改
- Excel按单元格内容(按字符)长度排序的方法技巧
- phpExcel导出身份证格式问题
- phpstudy 提示 mysqld.exe: Error while setting value ‘NO_ENGINE_SUBSTITUTION 错误的解决办法
- 必应、谷歌等搜索引擎想要出现站点子链需要什么条件和要求?
- 数据筛选后,还能不能愉快的复制粘贴了?
- 【OCR】文字识别 - RapidOCRWeb 篇
- Microsoft Print to PDF如何创建A0,A1,A2大型图幅
- Windows环境下 php7.3安装扩展mcrypt
- 如何将webp图片转换成png
