最近,很多織夢站長朋友都遇到了這樣的問題,在帶織夢的后臺模塊列表時發現模塊列表顯示沒有內容,里面沒有一個模塊顯示,導致不能卸載模塊。如下圖:


 

DedeCMS后臺模塊列表顯示空白的解決辦法

 



這里我們就給大家分析一下織夢的后臺模塊列表無法顯示的原因,并分享一下解決的方法!



第一種可能的情況:一般來說,Dede V5.7以后的版本出現管理列表無法顯示的情況多一些,基本上是因為官方將后臺模塊的列表遠程的放在了官方服務器上了。雖然這樣可以讓織夢的用戶安全的獲取官方的模塊,但有時網站在某個時間段連接不上遠程的織夢官方服務器,就可能無法寫入模塊列表文件內容,造成模塊列表空白,并且我們打開“/data/module/moduleurllist.txt”文件我們會發現里面沒有內容,所以說,/data/module/moduleurllist.txt模塊列表文件沒有內容是織夢模塊管理列表空白的直接原因。



解決辦法:



打開織夢后臺管理目錄下的module_main.php文件,注釋掉大約91行和95行的如下兩行代碼:

 


$modules_remote = $dm->GetModuleUrlList($moduletype,$mdurl);

 

 

$modules = array_merge($modules,$modules_remote);


 

這樣織夢模塊管理程序就不會從遠程去獲取織夢官方的模塊列表,而是從本地獲取列表了。



第二種情況:還有一種情況也會造成織夢管理模塊管理后臺的列表無法顯示,那就是禁用了fsockopen()函數,這個函數是織夢用來獲取遠程模塊管理列表的。



解決辦法:



可以用第一種禁止織夢遠程獲取管理列表;另外就是開啟fsockopen()函數,如果你的服務里主機支持這么做的話。



第三種情況:下載源碼下來后在本地安裝后臺模塊可以正常顯示,但是上傳到空間之后模塊卻不能顯示。



解決辦法:



這種情況一般是你的空間參數或者設置的問題,你可以咨詢空間商,或者試圖嘗試下面的解決方法:



將include中的文件dedehttpdown.class.php進行相關的修改,具體就是將


 

$this->[email protected]($this->m_host,?$this->m_port,?$errno,?$errstr,10);


 

 

替換為


 

$this->[email protected]_socket_client($this->m_host?.?':'?.?$this->m_port,?$errno,?$errstr,10);


 

第四種情況:開始模塊正常顯示,但是后來安裝了其他模塊插件后突然發現模塊列表不見了,這種你情況主要有以下兩種原因:



(1)data/module/中的moduleurllist.txt文件被破壞,這時我們可以下載下來打開看一下,如果內容為空,就說明被破壞了,我們從源碼中提取一個覆蓋上去就行了;



(2)module_main.php文件受損,我們從源碼中提取出來上傳覆蓋即可,這里強調的是,做這些之前,一定要備份,防止出現意想不到情況,因為程序這個東西不穩定因素還是比較多的



當然,織夢DedeCMS后臺模塊管理列表不顯示的原因還有其他的,比如織夢程序沒有足夠的權限,無法寫入/data/module/moduleurllist.txt文件,也會造成列表空白的。

 

關于織夢后臺模塊列表不顯示的幾個原因大概就這么幾個吧,如果按照上面的方法還是不能解決問題的話還是建議你備份一下數據庫,然后重新安裝一個全新的織夢程序再還原數據庫吧。