技术开发 频道

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

    最后,要使配置数据可视化,必须使用 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 是否已安装

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

0
相关文章