前言:YFCMF-TP6是YFCMF-TP6是基于ThinkPHP6和YFCMF的极速后台开发框架
我项目代码本地路径
我最近在安装YFCMF-TP6完整包时,报错信息如下
刚开始以为是源码包有bug,后面经过一番摸索,误会它了。
因为宝塔默认启用"防止跨站攻击"后,网站打不开,出现错误,主要原因是:我们用的PHP框架默认将首页放在public目录下,但open_basedir参数使用的变量为$document_root,而thinkphp框架又调用了../thinkphp/base.php文件,结果PHP不允许跨上级目录访问,于是就报错给你。
在使用宝塔的时候,如果细心的话,你会发现当启用”防止跨站攻击“选项后,网站根目录会多出一个文件.user.ini。对头,只要修改此文件中的open_basedir为你网站根目录的上级目录即可。
我们可以在.user.ini文件里配置open_basedir的值
现在我们点开这个文件看下
修改前为:
open_basedir="D:/wwwroot/YFCMF-TP6-3.0.2/public/;C:/Windows/Temp/;C:/Temp/;D:/BtSoft/temp/session/"
接下来是最关键,最神奇的地方,只要把public去掉即可,即这个值必须是网站根目录的上一级目录
修改后为:
open_basedir="D:/wwwroot/YFCMF-TP6-3.0.2/;C:/Windows/Temp/;C:/Temp/;D:/BtSoft/temp/session/"
刷新下首页,现在就不会报错了,无需启动软件。
注意:虽然去掉“防跨站攻击”的打钩也可以正常,但是不建议这种做法,因为这会给网站带来安全隐患。
版权声明:本文为qq_27682041原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。