菜鸡兴致勃勃下载了bluecms1.6准备大干一番
环境 phpstudy
mysql 5.7.26
apache 2.4.39
php 7.3.4
结果安装第四步发现个这个问题
开始还以为自己这个PHP版本太高了
再降低到5.4.45
这是约德尔人的一小步~
这个大家就很难受,好心情都被影响了,百度一番,发现了问题:
我等判断问题应该是出在了第五步
前面的include 和 update 不明白也无妨,因为卡不到那里,接着就是 if (is_writable),意思是 is_writable() 函数判断指定的文件是否可写。
可写的话就是打开写入一个 install.lock ,这个文件是防止重复安装的。
如果不可写的话就跳入第五步。找到了问题激动的就去看看data文件里是没有 install.lock
说明他没有写,那问题就出在哪里呢?
百度的文章介绍:
经过测试后发现在该cms的所有common.inc.php文件中,错误的应用了require:
暂时咱们还不懂甚意思,我就先将作者的说法记录下来:
为什么使用require会出错的呢?require和include的区别:include运行时碰到错误会继续执行代码,require不会继续执行代码;include()是有条件包含函数,而require()则是无条件包含函数;include有返回值,而require没有。加_once的区别在于如果该文件中已经被包含过,则不会再次包含。
由于在index.php文件中分别在开头调用了/install/include/common.inc.php和在step5中调用了/include/common.inc.php,两个调用文件都包含了Smarty类的文件,这里重复调用产生了错误,也就不会生成install.lock文件,造成重安装漏洞,修复只需将require改为require_once就会正常的生成install.lock文件。
**链接:https://www.jianshu.com/p/1ab0311887a0**
随后我就没看到 require,就直接把这个once注释了
不出其然
改回来,保存再刷新
好了以后改一下根目录就算是完事了。
虽然小头还是懵懵的,但是不影响自己的成功呢。
后面琢磨一下如何修复,欢迎大佬指教
手机扫一扫
移动阅读更方便
你可能感兴趣的文章