Eclipse/PDT xdebug 调试PHP
软件:
XAMPP 1.6.6 解压缩版,
PDT 1.0.2 Release All-in-One,
XDebug 2.0.2 | Windows modules PHP 5.2.1-5.2.7,
注意xdebug的版本必须和XAMPP中的PHP版本兼容,XAMPP 1.6.6中PHP版本是5.2.5,所以使用XDebug 2.0.2 | Windows modules PHP 5.2.1-5.2.7
安装:
安装XAMPP
解压缩XAMPP,运行根目录下的setup_xampp.bat进行安装
运行xampp_start.exe启动服务器,在浏览器中输入 http://localhost 进行测试
运行xampp_stop.exe关闭服务器
安装XDebug
将下载的php_xdebug-2.0.2-5.2.5.dll改名为php_xdebug.dll,复制到xamppphpext目录下
修改xamppapachebinphp.ini文件,查找[Zend]代码段,将此代码段下全部用“;”注释掉,查找[XDebug]代码段,将zend_extension_ts,xdebug.remote_enable,xdebug.remote_host,xdebug.remote_port,xdebug.remote_handler前面的“;”注释符去掉
运行xampp_start.exe启动服务器,在浏览器中输入 http://localhost/xampp/phpinfo.php,查找字符串Xdebug,如果能查找到,说明安装成功。
为什么要注释掉[Zend]代码段?因为Zend Optimizer和Xdebug 2.0.2不兼容,会导致XAMPP启动失败。
安装PDT
解压缩pdt-all-in-one-R20080103-win32.zip,运行eclipse.exe启动PDT(注意:因为eclipse是java写的,所以需要先安装JRE)
配置XDebug在PDT中使用,新建一debug.php文件,内容如下:
<?php
functionadd($a,$b){
$result=$a+$b;
return$result;
}
echoadd(4,5);
?>
在PDT编辑中第4行$result处打一个断点(双击行号左侧空白区域),如图:
菜单栏“Run – Open Debug Dialog”,在左侧PHP Web Page下新建一个启动配置,Server Debugger设置为XDebug,File中设置为刚才新建的debug.php文件,Break at First Line不用勾选,URL处如果不正确,手工设置为正确路径。点击”Apply”保存配置。如图:
在工具栏上打开debug按钮,在下拉选项中选择XDebug,这时会弹出是否切换到debug透视图的对话框,选择”Yes”进行切换。
这时可以看到已经进入了调试状态,Variables中可以看到$_POST,$_GET,变量$a,$b等的值。
接下来进行单步调试吧,看看Variables处值的变化
其它
新建一个如上所述的debug.php文件是比较方便的,正常情况下我们要调试的页面很多,不可能去一个页面一个页面配置xdebug,每次要调试时,就调试一次上面文件,不要点红色方块按钮中断调试功能,然后在你想要调试的代码行前加一个断点,在浏览器中正常运行,运行到刚才所打的断点时,会自动再次进入调试状态。这样就方便多了。
软件下载:
XAMPP Windows 1.7.3
http://www.apachefriends.org/download.php?xampp-win32-1.7.3.exe
PHP Development Tools
http://www.eclipse.org/pdt/downloads/
Xdebug 2.1.0 选择其一下载即可
http://www.xdebug.org/files/php_xdebug-2.1.0-5.2-vc6.dll
http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll
http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc9.dll