分析PHP应用程序以查找、诊断和加速运行缓慢的代码

原帖:http://www.qqread.com/php/2008/02/b395140_3.html

最后,要使 配置 数据 可视化,必须使用 KCacheGrind 和 GraphViz。包含 K Desktop Environment (KDE)的 Linux   发行 版很可能已经含有了 KCacheGrind 和 GraphViz。如果没有包含,适合您所使用的 Linux 的那些版本也不难找到。
Debian 用户可以使用 Advanced Packaging Tool (APT) 快速安装 KCacheGrind 和 GraphViz 以及所有包的依赖关系。

清单 3. 安装 KCacheGrind

  
  
$ apt-cache search kcachegrind valgrind-callgrind - call-graph skin for valgrind kcachegrind - visualisation tool for valgrind profiling output kcachegrind-converters - format converters for KCachegrind profiling visualisation tool $ apt-cache search graphviz graphviz - rich set of graph drawing tools graphviz-dev - graphviz Libs and Headers against which to build applications graphviz-doc - additional documentation for graphviz libdeps-renderer-dot-perl - DEPS renderer plugin using GraphViz/dot ... $ sudo apt-get install kcachegrind graphviz ...
    如果没有将 KDE 安装到 系统 中,KCacheGrind、GraphViz 以及所有必要的内容将占用大约 90 MB 的 磁盘空间
配置 Xdebug

    安装了 Xdebug 扩展 后,就可以准备启用和配置该扩展了。在文本编辑器中打开 php.ini,并添加以下代码行。

清单 4. 启用和配置该扩展

  
  
zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20020429/xdebug.so xdebug.profiler_output_dir = "/tmp/xdebug/" xdebug.profiler_enable = Off xdebug.profiler_enable_trigger = 1
    第一行 zend_extension 加载 Xdebug 扩展。第二行命名放置分析器输出的目录。如果需要的话,创建命名的 目标 并更改其模式以允许用户对 Web 服务器进行写访问。

    第三行禁用了分析器。然而,第四行将在设置 HTTP GET 或 POST 参数 XDEBUG_PROFILE 时启用分析器。(如果您希望一直使用分析器,在第三行代码中将 Off 更改为 On。)

    添加这几行代码并验证了输出目录是可写的,然后重新启动 Web 服务器。对于其他 PHP 扩展,要验证 Xdebug 是否安装并可用,可以创建一个简单的骨架 PHP 程序 来调用 phpinfo() 并查看结果。应该能够看到类似于图 1 所示的内容。(为简便起见,省略了完整输出的部分内容。)

图 1. Phpinfo 指明 Xdebug 是否已安装

分析PHP应用程序以查找、诊断和加速运行缓慢的代码(图一)

    您还可以向下滚动到 Zend 徽标。如果正确安装并配置了 Xdebug,它将显示在徽标的旁边。

专题:http:// www.qqread.com/php/2008/02/b395140.html 更多文章 更多内容请看 PHP开发应用手册PHP应用篇专题,或 进入讨论组讨论。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值