bluecms安装错误一记


菜鸡兴致勃勃下载了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注释了

 

不出其然

 

 改回来,保存再刷新

 

 

 好了以后改一下根目录就算是完事了。

 

 虽然小头还是懵懵的,但是不影响自己的成功呢。

 后面琢磨一下如何修复,欢迎大佬指教


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM