PHP错误:“open_basedir restriction in effect”的解决方法
发表于:2024-10-22 11:17:37浏览:2108次
收藏
迁移服务器的时,发现网站配置好了,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 添加 上述的配置即可
如果是使用宝塔面板这类的管理软件,在网站配置下勾选掉“防跨站攻击”选项,如下图所示。
写在最后
深究问题的来龙去脉,才是解决问题的最佳办法
推荐文章
- 苹果商店 App Store 推广位置详解
- 闻信展览小程序核销教程
- 【OCR】文字识别 - RapidOCRWeb 篇
- phpstudy 提示 mysqld.exe: Error while setting value ‘NO_ENGINE_SUBSTITUTION 错误的解决办法
- 超30个好用的css动画库合集
- PHP错误:“open_basedir restriction in effect”的解决方法
- 打印机扫描软件安装以及在打印机选择扫描文件位置教程
- Git冲突:commit your changes or stash them before you can merge. 解决办法
- 批量生成二维码下载
- OBS:使用电脑+摄像机直播
