可用)。下载并解包 tarball,然后切换到源代码的子目录。确保 phpize 和 php-config 位于 shell 的 PATH,准备使用 phpize 进行构建。
清单 1. 设置 Xdebug $ wget xdebug.org/files/xdebug-2.0.0RC3.tgz $ tar xzf xdebug-2.0.0RC3.tgz $ cd xdebug-2.0.0RC3/xdebug-2.0.0RC3 $ phpize Configuring for: PHP Api Version: 20020918 Zend Module Api No: 20020429 Zend Extension Api No: 20050606
phpize 的产品是一个脚本 —— 名为配置 —— 它对余下的构建过程进行配 置。要构建 Xdebug,在 make 后紧接着输入 ./configure 即可。
清单 2. 构建 Xdebug $ ./configure checking build system type... i686-apple-darwin8.8.1 checking host system type... i686-apple-darwin8.8.1 checking for egrep... grep -E ... $ make ... Build complete. (It is safe to ignore warnings about tempnam and tmpnam).
make 命令生成 Xdebug 扩展,xdebug.so。剩下的工作就是使用 sudo make install 进行安装。 $ sudo make install Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20020429/
注: 如果在终端窗口中运行最后一个命令,请选择并复制最后一步中发出的目 录。在下一个步骤中将会用到它。 最后,要使配置数据可视化,必须使用 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,它将显示在 徽标的旁边。
回页首 使用分析器 要分析代码,只需将浏览器指向 PHP 应用
程序即可。如果您将分析器设置为对 每个触发逐个解决的方式,将 XDEBUG