最近,很多织梦站长朋友都遇到了这样的问题,在带织梦的后台模块列表时发现模块列表显示没有内容,里面没有一个模块显示,导致不能卸载模块。如下图: 这里我们就给大家分析一下织梦的后台模块列表无法显示的原因,并分享一下解决的方法!
第一种可能的情况:一般来说,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->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文件,也会造成列表空白的。 关于织梦后台模块列表不显示的几个原因大概就这么几个吧,如果按照上面的方法还是不能解决问题的话还是建议你备份一下数据库,然后重新安装一个全新的织梦程序再还原数据库吧。
|