欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal故障排除指南

shiping1 的头像
Drupal故障排除指南
1、考虑下面这两个问题
●是不是我们做了什么修改或者是升级模块。
●安装模块的版本是否和您的drupal站点的版本相适应。打个比方说,为drupal7做的模块是不可能用在d6上的。
2、查看错误信息
错误信息如何的显示,特点的错误在页面中显示。而drupal提供了core dblog模块来协助我们查看系统事件,而您可以在后台的…/admin/reports/dblog中找到错误报告。当然不依靠这个模块,我们也可以使 用类似无忧主机php虚拟主机上的日志文件,这个时候我们我们可以在http://www.51php.com首页下方的在线客服处得到帮助。
●.htaccess配置问题 — “内部服务器错误” —“500错误”定向在这里是不允许的
●内存问题 — Fatal error: Allowed memory size of 8388608 bytes exhausted。详细可参考:“解决Drupal7.x提示Fatal error: Allowed memory size of Y bytes exhausted内存报错的方法”
●javascript问题 — modules/troublesome/utilty.js 404文件无法找到。
3、页面前端异常。前面已经聊到了,直接参考:“drupal页面显示异常(打不开)的处理办法 ”。
4、清除点缓存
缓存机制大家应该也多多少少也应该了解一点。当drupal响应您的页面请求的时候,返回的页面就很可能因为缓存的原因不会反应出最近的修改。对于这个问题,只需要清除缓存就可以了。其实这一点和discuz之类的开源程序是有一定的相似。
●Drupal 6:清除缓存,点击…/admin/setting/performance下方的“Clear all caches”按钮
●Drupal 7:清理缓存, 点击…/admin/config/development/performance上方的“Clear all caches” 按钮
5、查看模块中的README文件
●来自模块开发者的生成信息和建议
●相关性(例如服务器的php扩展)
●需求
●安装说明
●警告(例如模块冲突和补)
6、使用搜索引擎
这个似乎没什么好解释的。但建议最您的问题最后加一个drupal单词。
7、源代码中SQL错误
下面是错误的示例。
1You have an error in your SQL syntax; check the manual that corresponds to

2your MySQL server version for the right syntax to use near '(n.nid), n.title

3FROM category c INNER JOIN category_node r ON c.cid = r.cid INN'

4at line 1 ...  in /var/www/html/doadance/drupal/includes/database.mysql.inc on line 120.



对于那些英语有点小问题的站长们, 这个时候一定要坚持住,淡定、淡定,不好意思问别人的话就用在线翻译!首先我们可以确定这类不是核心文件的问题,更可能是第三方模块引起的问题。慢慢的调 试出是哪个第三方模块引起的问题。而在我们现在这个案例中来说,可能是分类模块的问题。当然,这也可能是与分类模块有直接数据关联的模块引起的。
8、调试模块代码
代码的问题已经会涉及到报错内容中一些显示了的代码。而Devel module模块是能帮助我们的,有兴趣的可以看一看这个模块。而这里呢,就让我们用一个例子来看看如何一步步调试和找出问题。
warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/httpd/global/drupal/modules/node.module on line 1303.
●找到node.module的1303行,而这里您将会要修改文件,那么现在您当然要备份文件。
●而1303行,node.module是定位在in_array(‘status’,$node_options)。
●在这一行前插入代码 — print(“Node options are : ‘”.print_r($node_options,1).”‘”);
●查看输出,并确定错误的数据类型是从何来的。
9、到drupal的官网论坛寻求帮助
英语还行的话就上去发发问题帖,一般都会有热心人为您回答问题的。Just try,don’t be shy.
10、确定是模块引起的问题
当您确定是模块引起的问题,打开相应的“模块名.module”文件。而模块定义的也面通常是定义在hook_menu()函数内。首先,看URL;然后是模块提供的内容;最后当然看用了hook_menu()函数的代码和“模块名.module”文件。
遇到故障后的最基本的处理方法,希望对大家有所帮助。有些排障的方法虽然就几句话就简单的概述了,但没一定的基础建议不要随便试,但然一切是在您没有做备 份的情况下。然而无忧主机(www.51php.com)小编也会继续加油,多给一些质量高的文章出来。为用户提供香港最优质的免费php主机产品、提供 最专业的售后服务支撑,这是每一个无忧人一直追求的目标。为你提供最权威、最专业的php空间网站部署方案。

来自 http://www.5i52.com/thread-19580-1-1.html
普通分类: