在本地安装了宝塔面板,运行项目时出现 file_exists(): open_basedir restriction in effect. File 这个问题,以前都是在本地 分别安装 PHP MySQL Nginx,或者直接用 phpstudy,没有遇到类似的问题。
![](https://cy.yuchunfang.cn/wp-content/uploads/2024/06/image-2-1024x134.png)
最后发现是宝塔面板上面的防跨站设置导致。
在网站列表找到自己的网站——网站目录,取消 防跨站攻击(open_basedir) 这一项的勾选即可。
宝塔面板中的"防跨站攻击"指的是设置了 open_basedir 限制,这是一种常见的安全机制,用于限制 PHP 脚本的访问范围,以防止跨站攻击和提高服务器安全性。
open_basedir 原理是限制 PHP 脚本读取的文件系统路径。PHP 脚本只能在指定的目录下读取文件,这样即使有漏洞被利用,攻击者也只能访问受限的路径内的文件,而无法访问系统上的其他敏感信息。
因为是在个人电脑本地使用,所以取消这一项基本没有影响。