织梦后台模块列表不显示的原因以及四种解决方法

最近,kdchxue在学习织梦的建站,可是遇到了这样的问题,织梦的后台模块列表没有办法显示。kdchxue在网上一搜,发现出现这样的原因的用户可不是少数,于是小编在网上冲浪了一般,结合自己的实际经验,给大家分析了织梦的后台模块列表无法显示的原因做了剖析,以及解决的方法!

        织梦后台模块列表不显示的原因以及四种解决方法_第1张图片

  虽然说织梦CMS是一款非常优秀的开源CMS程序,但在使用织梦DedeCMS的过程中,我们还是会遇到一些很恼火的事情,比如模块管理列表无法显示,无法对模块进行卸载,这个是非常影响心情的。造成织梦模块管理列表无法显示的原因,可能有很多种,kdchxue先举出下面的四种解决办法。如果还是无法解决管理列表无法显示的问题,可以尝试重装或者更换主机。

织梦后台模块列表不显示的原因以及四种解决方法_第2张图片

  第一种情况以及解决方法:一般来说,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文件,也会造成列表空白的。

  以上只是kdchxue碰到后台模块管理列表空白时解决的一些经验之谈,毕竟kdchxue还是互联网中的一个菜鸟,有什么不当的地方,还请大家批评指正,希望我们共同进步!

你可能感兴趣的:(方法)