必威体育科技logo
咨询热线: 13917498722
  您的位置: 首页 > 网站资讯 > 浅析Discuz出现“内部错误,无法显示此内容”的

浅析Discuz出现“内部错误,无法显示此内容”的

发布日期:2017/9/1 点击数:1895
摘要: 前一段时间帮一个同伙修改用DZ程序做的网站的模板的时候出现了问题,就是网站倏忽出现内部错误,无法显示此内容问题。大家都知道DZ是完全把主体程序和前端模板拆开的,这一点也

前一段时间帮一个同伙修改用DZ程序做的网站的模板的时候出现了问题,就是网站倏忽出现“内部错误,无法显示此内容”问题。大家都知道DZ是完全把主体程序和前端模板拆开的,这一点也可以说是一套优异程序的一个特征,这一点全球知名的开源程序WordPress也是如此。而DZ还有一个易用的功能就是模块DIY功能,这个功能可以让许多连HTML都不懂的站长同伙制作自己个性化的模块。

然而出现这个问题基本上网站的一切都无法操作,在DIY点开诸如数据、样式、属性等所有选项都有报错。而这时候我同伙有总在问我搞定了没,因为许诺他在规定的时间里帮他解决首页的模板,但碰到这个问题我都不敢跟他说,因为我也没有绝对的把握说这个东西不是我造成的,虽然在我看来操作前端的样式的时候不可能造成这种错误,但在现实当中一切意想不到的的事情都可能发生。

于是我只能硬着头皮去自己搜索答案,在网上搜索了十多分钟,发现大多数人提这样的问题都没有什么效果,回答最多的就是更新缓存之类的,似乎这个程序出现所有问题都是没有更新后台缓存造成的,当然DZ的许多时候都需要更新后台缓存,特殊是修改了东西让其生效的时候。

搜索了一圈也没解决问题,虽然有许多答案得到了最终的解决方案,但那些情况跟我的现实并不相符,因为我在出现故障前后只是操作了CSS,效果同伙倏忽说我帮你修改了config中的验证IP功能免得你进后台的时候总是说跳出登陆。效果我让他用备份的这个文件替代就解决问题。

我从来都不会为解决问题而去解决问题,我总会在自己解决后总结为什么会出现这个问题。于是我还特意保留了故障期间的那些文件跟现在正常的对比,分析了新的问题。总结网上和自己新琢磨出来的做一个总结,造成这个问题最常见的因素有如下几点,当然以后可能有更多的新问题。

一、修改文件时直接用记事本打开,造成多余的空格,导致程序不能识别XML文件。

用过DZ那个程序的同伙都知道,在程序中许多地方都使用了XML技术,我们插件和模板的安装文件都是写在XML文件中,然后经过内部函数机制调用执行。还有在模板DIY过程中生成的文件其实也是XML的,比如我们在DIY后导出的文件就是这种格式的。我的这个同伙就是在修改配置文件config的时候直接在ftp中打开造成文件中出现多余空格,造成不能识别xml造成这种错误。因为我后来继续恢复到异常状况打开错误报告,发现上面有一截报错代码就是xml包含的,而下部分是我们正常使用的时候那部分,只是格式很紊乱。解决方案就是用DW之类专门编写代码的工具恢复那些文件正常的格式。

二、修改XML文件错误,导致无法识别。

在DZ中许多模板的首页都是用DIY制作或者使用了大量的DIY,有时候我们修改模板上面的信息的时候为了省事就不是去一个个框架上编辑修改名称了,而是先导出xml,然后再同一修改它。效果可能使用记事本或者其他不是专门编写代码的工具造成格式紊乱,也可能因为一时失误把标签的封闭符号给删除了。都会造成如第一种情况中所出现的那样无法识别的问题,而且许多时候这样的文件能顺利导入程序,但导入后就会发生这样致命的错误。解决的方法就是先清空错误的导入,然后经过合适的工具及准确的方法修改xml使得其没有错误再导入。

三、在DIY状况下导入了与程序自己冲突或者错误的JS。

在DZ内部已经自带了许多特别很是实用的JS特效,比如幻灯片切换和滚动等等,这些特效只需要一个属性值原本就可以直接调用,而且按照这种内置功能实现的特效执行效率会很高。但许多技术上不怎么了解的站长往往喜好从网上收集一些JS代码,也许那些代码在单独执行的时候确实没有任何错误,但放在DZ程序中就会出现冲突甚至如这里说的这个致命的错误,比如知名的JS框架之一jQuery默认的$就会与DZ冲突,必须经过修改后才能正常使用。其实出现这类故障的时候,往往直接在前台清空DIY都是无效的,最好的解决方案就是去数据库找到模板页面数据的存档表pre_common_diy_data DIY删除最近加入进去的数据记录,然后重新来制作当前页面。

四、无解诡异的缓存问题。

这个问题假如说起来会让人觉得废话一样,但我在此前确实就这么解决过好几次出现这种错误的问题。其实我认为并不新鲜,因为DZ是一套充分使用缓存机制的程序,比如我们的前端所看到的许多JS和CSS等都是先通过模板中的文件写入Cache中,然后再让前端读取执行的。许多时候经过前面几种体例修正了错误,但我们在前端查看的时候依然是错误的,这时候就得考虑缓存问题,而且这种问题多出现重新配置的服务器。解决的方法就是重启IIS或者apache之类的web服务器或者干脆重新开机,另外就是检查Cache目录是否写入,因为我们的更改必须让其在执行的时候写入缓存才是生效的。

以上几种情况是许多人都出现过的问题,也都是亲身所经历的,只是第一种情况是我最近一次所碰到的。虽然一般来讲只要是问题就有解决的方法,但我觉得有时候这样的问题会造成我们虚耗大量不需要的时间。最后建议新手同伙不要在自己完全不了解相关知识的时候去随意修改,也希望大家不要图一时方便去直接修改文件以免造成难以发现原因的故障,当然最保险的体例照旧在修改前备份我们珍贵的数据。







其他相关文章
  • 网络营销有哪些细分种类
  • 做网站设计要做好站内搜索的两个方面
  • 网站制作中的图片处理
  • betway必威体育官网平台网站建设功能解析
  • 上海必威体育科技谈网站建设的和营销的步骤
  • 网站建设细节帮助betway必威体育官网平台留住用户




  • betway必威体育官网平台网站后台使用
    购物网站后台使用
    网站产品图片的处理




    售前咨询QQ: 838821345
    售后服务QQ: 464698733
    应急手机:13917498722


    微信扫一扫
    添加24小时微信客服


    邮箱:lang@MENGL.CN
    地址:上海宝山区城银路555弄2号楼3楼
    Copyright 2012-2020 上海必威体育网络科技有限公司 WWW.MENGL.CN All Rights Reserved