存分配,并提 供其他功能。Xdebug 还包括一组函数,您可以将这组函数添加到代码中以进行运行时错误诊断。
例如,下面的代码将使用一些 xdebug_...() 步骤测试 callee() 函数,以便输出调用程序的具体位 置,包括文件名、行号和调用函数的名称。
清单 1. 测试 callee() 函数的步骤
<?php
function callee( $a ) {
echo sprintf("callee() called @ %s: %s from %s",
xdebug_call_file(),
xdebug_call_line(),
xdebug_call_function()
);
}
$result = callee( "arg" );
?>
这段代码将生成:
callee() called @ /var/www/catalog/xd.php: 10 from
{main}
构建和安装 Xdebug
Xdebug 可以很轻松地从 UNIX® 类操作系 统(包括 Mac OS X)中的源代码构建。如果是在 Microsoft® Windows® 上使用 PHP,则可以从 Xdebug Web 站点下载最新 PHP 版本的二进制 Xdebug 模块。
让我们来构建和安装适用于 Debian “Sarge” Linux® 和 PHP V4.3.10-19 的 Xdebug。在撰写本文时,Xdebug 的最 新版本是 V2.0.0RC4,发布于 2007 年 5 月 17 日。要继续本文,必须拥有 phpize 和 php-config 实 用程序,并且必须能够编辑系统的 php.ini 配置文件(如果没有实用程序,请访问 PHP.net 以获得如何 从头构建 PHP 的源代码和说明)。请执行以下步骤:
下载 Xdebug tarball(一个用 gzip 压缩的 .tar 归档文件)。wget 命令可以帮助您轻松地完成此操作:
$ wget
http://www.xdebug.org/files/xdebug-2.0.0RC4.tgz
解压缩该 tarball 并切换到源 代码目录:
$ tar xzf xdebug-2.0.0RC4.tgz $ cd xdebug-2.0.0RC4
运行 phpize 以准备适用于您的 PHP 版本的 Xdebug 代码:
$ phpize Configuring for: PHP
Api Version: 20020918 Zend Module Api No: 20020429 Zend Extension Api
No: 20021010
phpize 的输出是一个脚本 —— 通常名为配置 —— 用于调整其余的构建过程。
运行配置脚本:
$ ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc
-linux-gnu checking for gcc... gcc checking for C compiler default output file
name... a.out checking whether the C compiler works... yes checking whether we are
cross compiling... no checking for suffix of executables... checking for suffix of
object files... o ... checking whether stripping libraries is possible... yes appending configuration tag "F77" to libtool configure: creating
./config.status config.status: creating config.h
通过运行 make 构建 Xdebug 扩展:
$ make /bin/sh /home/strike/tmp/xdebug-2.0.0RC4/libtool --
mode=compile gcc -I. -I/home/strike/tmp/xdebug-2.0.0RC4 -DPHP_ATOM_INC -
I/home/strike/tmp/xdebug-2.0.0RC4/include -I/home/strike/tmp/xdebug-2.0.0RC4/main -I/home/strike/tmp/xdebug-2.0.0RC4 -I/usr/include/php4 -I/usr/include/php4/main -I/usr/include/php4/Zend -I/usr/include/php4/TSRM -DHAVE_CONFIG_H -g -O0 -c /home/strike/tmp/xdebug-2.0.0RC4/xdebug.c -o xdebug.lo mkdir .libs ... Build complete. (It is safe to ignore warnings about tempnam and
tmpnam).
使用 make 将生成 Xdebug 扩展 xdebug.so。
安装该扩展:
$ sudo make install Installing shared extensions:
/usr/lib/php4/20020429/
继续之前,使用鼠标选择并复制上一条命令显示的目录。该 路径对于最后一步配置扩展至关重 |