为国内最风靡的CMS系统,很多人在使用的过程中会出现各式各样的问题,直接导致的结果就是站点无法正常浏览、功能无法正常使用。当然由于CMS系统涉及到的技术很多,不仅仅包含基本的html、css,而且涉及到javascript(jQuery)、php、mysql,并且不同服务器环境不同浏览器都会出现不同形式的错误,所以织梦CMS进行站点调试并不是一个很简单的事情,尤其对于缺乏耐心,不喜欢探索的同学而言那就更是难上加难。
  “有问题并不可怕,自己怕了才是真的可怕”,一位名人这样说(初高中作文写法),发现问题是好事,解决问题是快乐的事情,总结问题是有文化的事,这也是编写本手册的一个初衷,这本手册希望能够帮助更多人解决DedeCMS的使用问题,同时也感谢织梦团队,感谢织梦论坛的斑竹,感谢党和人民为我们创造了这样一个好的环境,知足常乐,进入手册内容:
一、概述篇
1.问题分类
  为了更好更快捷的发现问题解决问题,我们先将DedeCMS使用过程中出现的问题分成如下几个类型:
1.1.模板调试
  这里主要是对前台页面的模板进行调试,涉及到的问题重点还是在织梦模板标签的使用,当然调试和普
通应用有所不同,接下来内容我们会对模板调试进行具体说明。
1.2.程序功能调试
  主要是php+mysql配合使用的问题,这里面会遇到各种各样的错误,这些错误可能会出现:乱码,报错提示,页面空白,同样,下面我们也会具体说明。
1.3.服务器调试
  各种各样的环境,不同的服务器目录设置情况(权限,目录配置规则)都会出现各种各样的问题。
2.使用资源
2.1.官方的帮助文档
主要参考的文档有:
模板标签手册
help.dedecms/v53/archives/tag/
主要模板文件与功能说明
help.dedecms/v53/archives/templets/main/
常见问题
docs.dedecms/doku.php?id=faq
2.2.其他技术手册
DedeCMS数据库文档,感谢:寒外江天
www.bufuzao/dedecms/mysql-doc/index.htm
PHP调试技术手册发布(1.0.0 pdf),感谢:黑夜路人、laruence
lecode/files/PHP-Debug-Manual-public.pdf
3.系统准备
安装DedeCMS所需要的基本环境,如果本地调试,推荐使用DedeAMPZ、PHPnow这类环境套件,如果是专业用户可以自行按照环境需求配置服务器环境。
正确安装DedeCMS应用程序,这里我们使用DedeCMS V5.6。
二、操作篇
1.模板调试
模板主要是网站前台的页面调试,目的是为了让网站前台页面正确的显示出来,其中涉及到主要技术包含:(x)html、css、javascript、Ajax、dede模板标签,这几样技术无论在程序应用还是在程序开发(模板制作、插件模块开发)都经常
用到。
1.1.模板调试工具
由于DedeCMS是生成静态HTML的,所以更改了标签通过访问前台html页面是没有任何效果的,这里需要在调试的时候用到几个工具:
(1)网站整站首页调试(后台顶部导航[网站主页]选项,或者后台[生成]-[更新主页HTML],中选择“预览”操作):
你的站点/index.php?upcache=1
(4)模板标签调试
系统后台[模板]-[全局标记测试],这里可以对单个标签进行测试。
(2)网站频道/列表页调试(后台[网站栏目管理]-[网站栏目列表]-[预览]):
你的站点/plus/list.php?typeid={栏目ID}
注意:{栏目ID}可以在系统后台栏目管理中查看,例如后台栏目中有栏目:论文指导[ID:1]
则id为1,前台调试页面为
你的站点/plus/list.php?typeid=1
这里如果用户在后台栏目设置中涉及栏目属性为频道,则显示频道的列表。
(3)内容页调试(地址栏直接输入):
你的站点/plus/view.php?aid={文档ID}
这里是用户文档的id,无论是普通文章还是分类信息,都可以通过这个页面来进行调试。
1.2.模板调试
一般网页都是通过将设计稿(psd/PNG)转为(X)html,当然不妨有人通过仿制,扒站这种途径获取模板,对模板html页面的调试我们这里做个简单的介绍。
1.2.1.织梦页面调试
(1)浏览器兼容性调试
这个兼容性前台模板主要是对浏览器的兼容性,不同浏览器有不同的html解析标准,尤其是万恶的IE6。在IEX类浏览器兼容性调试的时候可以通过IETest(-debugbar/wiki/IETester/HomePage)这个工具,其他的主要是火狐/opera/chrome等,当然一些国产浏览器由于也采用不同的浏览器内核需要做不同的兼容处理。
(2)页面布局&样式调试
主要涉及Html/css的调试,在这个下面做处理推荐使用火狐浏览器下的Firebug组件(工具->附加组件,中搜索firebug进行安装)。
或者使用IE7+下面的开发者工具,这个也类似于Firebug,可以对页面进行调整。
如果需要对Firebug进行更深入的一个了解,可以查看:tinyurl/4ehubdn
(3)页面文件调试
这类调整还是推荐使用Adobe Dreamweaver工具,其中主要涉及到的是文件路径/javascript错误等调整。主要适合制作开发人员使用。
(4)Ajax页面传值(POST|GET)调试
我们现在越来越多的用到ajax操作技术,这里我们推荐使用Firefox下面的HttpFox插件来对页面ajax传值进行调试,当然也可以使用比较专业的,例如HttpWatch这类工具来检测。
1.2.2.织梦模板文件调试
每个页面功能都有其对应设定的模板文件,我们可以通过官方的《主要模板文件与功能说明》查看对应模板的对应文件,一般在模板文件调试时候会出现以下情况:
(1)模板不存在
现象:报错提示出现“D:/***/templets/default/ind
ex.htm Not Found! ”
解决办法:在对应目录中放入对应的模板文件即可,如果模板正常,都会被正常解析
(2)模板缓存目录不具备可读写权限
现象:如果系统根目录/data/tplcache目录不具备可读写权限,会直接导致模板缓存无法正常生成,影响模板引擎正常解析,会有下列的错误提示:
Warning: fopen(D:/***/.) [function.fopen]: failed to open stream: Permission denied in D:\***\include\dedetag.class.php on line 218
Warning: fwrite(): supplied argument is not a valid stream resource in D:\***\www\include\dedetag.class.php on line 275
解决办法:将/data/tplcache目录设置为可读写,Linux/Win系统做对应的修改即可.
(3)存在不闭合的dede标签
现象:一般DedeCMS的模板标记都是成对出现的,例如{dede:tagname}{/dede:tagname}或者{dede:tagname/},个类似于html或者xml标记,如果模板文件中存在有不闭合的Dede标签,则会出现下列的错误提示:Tag Character postion {n}, '{tagname}' Error!
其中{n}为标签在模板文件中的位置,{tagname}为错误的标签。
解决办法:修改标签,将其闭合
(4)模板标签调试
现象:放置模板的标签没有任何的作用,或者放置的标签解析后出现报错(PHP类或者DedeCMS数据库提示)。
解决办法:
  如果标签放置没有作用,则需要先判断模板标签的作用域,织梦的每个标签都是有作用域的,主要分为两大类,动态模板解析(dedetemplate.class.php),和静态模板解析(dedetag.class.php)。
  动态模板解析通常使用的地方是织梦的互动模块部分,例如:织梦问答模块,织梦会员中心,圈子小说等地方,这类的动态模板,所用的标签也是有限的,主要的标签可以查看/include/tpllib,里面的标签基本文件名格式为plus_{tagname}.php,例如:plus_channel.php,则说明在使用动态模板解析中可以使用channel标记。这类的标记使用和开发需要另外参考相关文档,这里就不做具体说明。
  动态模板标签中的解析涉及到较多的php知识,所以需要制作人员,有基本的php基础,至少能够简
单的了解代码,否则制作开发调试会比较吃力。动态模板解析的时候同样会在data/tplcache目录中生成一系列的缓存文件,对应模板(例如:index.htm)会生成一个(index_3***1.inc)的缓存文件,在tplcache中打开不难发现,这是一个php文件,所以动态模板解析调试可以直接从这个缓存文件入手,具体的调试方法可以参看本手册中关于程序功能调试部分的内容。
  静态模板引擎的话不同的是他不是生成php文件,而是生成一个字符串,对应的标签文件除了不同页面类型(首页/列表/内容),有特殊标签之外,其他公用的标签如arclist,channel都存放在taglib中。文件名格式为:{tagname}.lib.php,
例如arclist.lib.php则说明存在{dede:arclist/}这个标记。这类标签也被称为全局标记,可以在系统后台[全局标记测试]中进行测试(如图1)。
织梦模板免费吗  这类标签关于标签应用的调试并不复杂,主要是指派好属性,做好底层模板就可以了.但关于标签本身开发或者二次开发就需要了解一些模板引擎解析原理了.
(5)非全局标签调试
  我们查看列表,内容页的时候,涉及到几个标签,如{dede:list/},{dede:pagelist/}这些标签需要获取检索信息的时候需要进行调试,当然我们需要了解对应列表,内容展示的核心文件:
include/arc.partview.class.php              全局视图类(站点首页)
include/arc.sgpage.class.php                单页面内容视图类
include/arc.rssview.class.php      RSS文件列表视图类
include/arc.sglistview.class.php    单表模型列表视图类文件
include/arc.searchview.class.php    搜索视图类
include/arc.listview.class.php      主从表文档列表视图类
include/arc.archives.class.php      内容解析视图类
  每一个视图类都负责解析对应列表,对应内容。
2.功能调试
2.1.数据库连接失败,数据表异常
  这是最近常的错误提示,如果系统一直无法正常连接数据库,则可能是数据库服务器出现了错误,需确定mysql服务器是否正常启动。
  如果mysql频繁出现错误,则需要到数据库查询日志中的内容,在data/mysql(i)_error_trace.inc中会含有数据库执行的错误提示。
  一般mysql的错误都是表不存在,提示信息"Error infos: Table '#@__*' doesn't exist ",这类都是说明你不存在数据表,检查数据表是否被无意删除,或者数据表是否损坏,可以在系统后台[系统]-[SQL命令行工具](如图2)进行调试。
  当然数据库连接还会出现一种错误,即提示“把数据保存到数据库主表 `#@__archives` 时出错,请把相关信息提交给DedeCms官方”,这类错误产生可能是由于你系统微表出错,可以重建微表,后台[系统]-[系统错误修复],修复即可。
  系统如果出现错误“Can't open file: '*' is marked as crashed and should be repaired”的错误提示,则说明表需要被修复,直接在后台SQL命令工具中执行对应表的修复操作即可,当然也可以借助phpmyadmin,navicat这样的第三方工具来修复表。
2.2.开启报错提示
一般如果页面出现白屏,都是由于页面屏蔽了系统报错后,遇到错误提示不显示内容所致,我们需要做的方法就是开启出错提示。
可以到文件/include/common.inc.php,
到下面的代码
common.inc.php,10行
--------------------------------------------------------------------------
// 报错级别设定,一般在开发环境中用E_ALL,这样能够看到所有错误提示
// 系统正常运行后,直
接设定为E_ALL || ~E_NOTICE,取消错误显示
// error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
....
--------------------------------------------------------------------------
将其中报错函数改为:
--------------------------------------------------------------------------
error_reporting(E_ALL);
// error_reporting(E_ALL || ~E_NOTICE);
--------------------------------------------------------------------------
  这样我们再去看空白php页,则会出现php的错误消息。接下来按照php的调试方法进行调试即可。
2.3.php功能操作错误调试
  显示报错信息以后,我们就可以按照php的方式来对DedeCMS程序进行调试,这里推荐大家阅读《PHP调试技术手册发布(1.0.0 pdf)》,开篇已经介绍了下载地址,当然织梦最简单的php调试就是:
echo
print_r
var_dump
  DedeCMS新版本中还加入了一个Dump()的函数来格式化输出内容提示信息,当然也可以扩展xdebug/PHPUnit这类的第三方调试工具来对php应用程序进行调试,具体可以参看相关手册。
3.服务器环境调试
3.1.Web服务器&PHP的调试
  网上搭建这些服务器的文档实在很多,而且现在web服务器种类也越来越多,Win系列的IIS,Apache,Nginx,Linux下面的Apache,Nginx都是不错的选择。
  有关服务器的调试其实也没有多少内容,能够保证站点正常运行即可,尤其是这里需要注意好目录权限的设置,这些可以按照官方的具体操作说明来理解。
  PHP环境我们推荐PHP5.2系列,当然在DedeCMS V5.7以后开始完全兼容PHP5.3.X系列。需要的基本扩展是:
extension=php_gd2.dll
;extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_zip.dll
  php环境以及组件的信息可以通过phpinfo()来查看。
3.2.MySQL服务器
  开发基本的关于数据库SQL本身的操作都可以通过DedeCMS系统后台的[系统]-[SQL命令行工具]来操作,服务器环境的搭建设置一般下载MySQL官方(sql/downloads/)应用来安装就可以了,这里我们推荐MySQL4/5版本。
By:天涯(www.bufuzao)E-Mail: tianya#dedecms 
Pubtime:2011年1月24日  Version:1.0.0  Copyright:DesDev INC.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。