宝塔面板怎么运行一个tp5_ThinkPHP5在宝塔面板中将根目录设置为public后报错的解决方法...

由于ThinkPHP5的默认网站根目录是public目录,如果通过宝塔面板配置直接将该目录指为网站根目录后,会出现如下报错:

Warning: require(): open_basedir restriction in effect. File(/www/thinkphp5/thinkphp/start.php) is not within the allowed path(s): (/www/thinkphp5/public/:/tmp/:/proc/) in /www/thinkphp5/public/index.php on line 17

Warning: require(/www/thinkphp5/thinkphp/start.php): failed to open stream: Operation not permitted in /www/thinkphp5/public/index.php on line 17

Fatal error: require(): Failed opening required '/www/thinkphp5/public/../thinkphp/start.php' (include_path='.:/www/server/php/56/lib/php') in /www/thinkphp5/public/index.php on line 17

根据报错信息分析,一开始以为目录配置错误,但经过调整后,仍然报该错误。其实,该问题只需将宝塔面板中网站目录的“防篡改攻击”功能关闭即可。

具体解决方法是进入宝塔面板“网站”—“设置”—“网站目录”,将“放跨站攻击(open_basedir)”前面的勾去掉。如下图:

保存后,重启PHP,再次通过浏览器访问即可。如下图:

出现该问题的主要原因是:open_basedir 将PHP所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值