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