第一种情况以及解决方法:一般来说,DedeV5.7以后的版本出现管理列表无法显示的情况多一些,这是因为官方将后台模块的列表远程的放在了官方服务器上了。虽然这样可以让织梦的用户获得更多官方的模块,但有时网站在某个时间段连接不上织梦官方服务器,就可能无法写入模块列表文件内容,造成模块列表空白。总的来说,/data/module/moduleurllist.txt模块列表文件没有内容是织梦模块管理列表空白的直接原因。
解决上面问题的方法是打开/dede/module_main.php文件(其中dede为您的后台管理目录),注释掉大约91行和95行的如下代码:
$modules_remote = $dm->GetModuleUrlList($moduletype,$mdurl);
$modules = array_merge($modules,$modules_remote);
这样织梦程序就不会从远程去获取列表,而是从本地获取列表了。解决织梦后台模块管理列表不显示还有一个笨办法,就是用有内容的/data/module/moduleurllist.txt文件对相应的文件进行替换,这样/data/module/moduleurllist.txt文件有内容了,模块管理列表就会显示出来。
第二种情况以及解决方法:还有一种情况也会造成织梦管理模块管理后台的列表无法显示,就是禁用了fsockopen()函数,这个函数是织梦用来获取远程模块管理列表的。解决的方法可以用第一种禁止织梦远程获取管理列表;另外就是开启fsockopen()函数,如果你的主机支持这么做的话。
第三种情况以及解决方法::下载源码下来后在本地安装后台模块可以正常显示,但是上传到空间之后模块显示不了了,这种情况一般是你的空间参数或者设置的问题,你可以咨询空间商,或者试图尝试一下的方法:
将include中的文件dedehttpdown.class.php进行相关的修改,具体就是将$this->m_fp?=?@fsockopen($this->m_host,?$this->m_port,?$errno,?$errstr,10);
替换为$this->m_fp?=?@stream_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文件,也会造成列表空白的。
![](https://doc.tengcee.com/uploadfile/2019/0823/20190823025940630.jpg)