热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

前一段时间帮一个朋友修改用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目录是否写入,因为我们的更改必须让其在执行的时候写入缓存才是生效的。

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


推荐阅读
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
手机用户2502863351
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有