菜雞興致勃勃下載了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文件。

不出其然
改回來,保存再刷新
好了以后改一下根目錄就算是完事了。
雖然小頭還是懵懵的,但是不影響自己的成功呢。
后面琢磨一下如何修復,歡迎大佬指教