You are here

Drupal专业开发指南 第21章 应用剖析和调试

g089h515r806 的头像
Submitted by g089h515r806 on 星期四, 2009-09-03 14:29

下面的PHP调试器和集成开发环境(IDE),提供了一些强大工具,能够帮你快速找到Drupal的瓶颈所在;它们也能够帮你找出模块中的低效算法:

 
Zend Studio IDE: http://www.zend.com/
Eclipse IDE: http://www.eclipse.org/
Xdebug PHP Extension: http://www.xdebug.org/
 
    在下面的图中,我们使用了Zend Studio(拥有最漂亮的图形输出,这存在争议)的截图,而其它的IDE也能够生成类似的输出。图21-22显示了一个图形输出,它是使用应用剖析器(application profiler)追踪Drupal请求得到的。结果显示了每个文件里面的函数的运行所占用的相对时间。在这个情况下,Drupal看起来在includes/bootstrap.inc中花费了将近一半的时间。
 
21-22.Zend IDE中,一个Drupal请求的时间饼图
 
    在图21-23和21-24中,我们向下钻取,来查看哪些函数在一个请求期间耗费了相对较多的处理器时间。这一特性,能方便的帮你判定哪些地方需要多花一点工夫进行优化。
 
21-23.Zend IDE中,一个Drupal请求的调用踪迹
 
21-24.Zend IDE中,一个Drupal请求的函数统计
 
    实时调试是一个PHP的特性,而不是Drupal的特性,但是它值得在这里讨论一下,如果你的笔记本上装了一个实时调试器,那么别人就会把你当作Drupal高手。
    使用一个PHP调试器,可以让你在运行时暂停PHP代码的执行(比如,设置一个断点),并逐步的检查发生了什么。熟悉一个PHP调试器,是你最应该掌握的一门技术之一。一帧一帧的追踪代码执行,就像电影中的慢动作一样,这是调试的最好方式,它能帮你慢慢的熟悉Drupal这样一个庞然大物。
    Drupal初学者的成人礼,就是端上一杯茶水,启动调试器,花一些时间逐步的追踪一个标准的Drupal请求,这能够帮你获得Drupal工作原理的第一手资料。

Drupal版本: