宝塔面板中ThinkPHP5更改网站目录为/public后运行报错的解决办法

[复制链接] |主动推送
查看39 | 回复0 | 2024-9-11 18:14:35 | 显示全部楼层 |阅读模式
今天在部署一个ThinkPHP5开发的网站时,把网站根目录指向到public目录下,结果运行后产生以下错误
Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/xxx/thinkphp/start.php) is not within the allowed path(s): (/www/wwwroot/xxx/public/:/tmp/:/proc/) in /www/wwwroot/xxx/public/index.php on line 18Warning: require(/www/wwwroot/xxx/thinkphp/start.php): failed to open stream: Operation not permitted in /www/wwwroot/xxx/public/index.php on line 18Fatal error: require(): Failed opening required '/www/wwwroot/xxx/public/../thinkphp/start.php' (include_path='.:/www/server/php/70/lib/php') in /www/wwwroot/xxx/public/index.php on line 18
看错误代码很明显是require文件的时候出错了,并且带上了文件的路径,一开始以为是路径出错的,于是在index.php中尝试修改引入的文件路径,发现index.php并没有问题。
百度发现这个错误是:open_basedir 的问题 需要在php.ini中修改open_basedir你的项目路径,或者在nginx中也可以定义。
但是我的两个配置文件中都没有该配置参数,突然想到我的服务器使用了宝塔面板。
于是到宝塔面板的网站配置页面,发现有一个“防跨站攻击(open_basedir) 的选项”把该选项关闭即可。 162643jyr2yxa1ry1ii825.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则