POST TIME:2017-11-13 00:02
昨天在網站的后臺修改了系統的一些基本參數,修改完成后保存,未發現異常。
可是等我刷新網站之后發現,主頁變成了空白,什么錯誤提示也沒有,再登陸后臺,發現系統后臺也是顯示一片空白,什么內容也沒有。怎么回事呢?難道是服務器掛了?試著Ping了一下,結果顯示服務器完全正常。可網站為什么不顯示呢?
在無意間刷新了之前打開的一個頁面,發現靜態的html頁面居然可以打開,可是仔細觀察發現,頁面中的點擊次數等動態信息卻未顯示出來,聯想到主頁也是動態瀏覽的,所以基本可以判定網站現在是動態的php頁面無法訪問,但是靜態html頁面訪問正常,是不是服務器的某些服務停止了?問了一下虛擬主機的管理員,管理員讓我打開info.php這個頁面看看,結果說明php服務正常,一定是網站的文件出了問題。天哪,如此多的文件,該如何查找錯誤?
所幸在網上找到了好方法。
第一步,先修改common.inc.php文件,讓系統告訴我們錯誤的位置
這個文件在include文件夾下面,在這個文件中找到 下面這兩行代碼:
//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
這兩行代碼的含義在上面的注釋中其實寫的很清楚,主要是控制報錯資料的顯示的。第一行代碼被用//給注釋掉了,不起作用,含義表示所有的錯誤都會報告,主要用于開發環境,而第二行沒有被注釋,表示我們網站目前在使用這種模式,表示取消錯誤顯示,也就是說不提示錯誤信息。
我們現在想知道錯誤出在哪里,所以我們需要運行第一行代碼,來顯示出錯誤信息,所以,我們把注釋的位置挪到第二行,也就是把“//”移到下面那行的最前面。
保存后,再打開首頁,這次雖然也沒打開,可是頁面不再空白,而是出現了錯誤提示:
Parse error: syntax error, unexpected '*' in /home/commonie/domains/genban.org/......./data/config.cache.inc.php
原來是config.cache.inc.php文件的某一行的值不應該是“*”。
第二步,按照錯誤提示進行相應修改即可
按照提示找到config.cache.inc.php文件的這一行內容
$cfg_mb_pwdmin = *******;
這個文件是系統基本參數保存的文件,所以推斷這個參數應該是設定密碼長度的,所以把這里的*改成一個數字,然后保存。
再重新刷新網站,發現一切恢復正常了。
趕緊重新整站備份,以備不測!
注意:以上所有的改動都是在虛擬主機后臺管理面板或FTP中進行,因為DedeCMS的管理后臺根本打不開