eclipse php xdebug,Eclipse for php + Xdebug搭建PHP的调试环境

本文详细指导如何在Eclipse中为PHP5.3.28搭建Xdebug调试环境,包括下载、配置php.ini、设置Apache及Eclipse参数,解决常见问题如Xdebug未显示、断点失效等,并提供关键步骤和解决技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Eclipse for php + Xdebug搭建PHP的调试环境

Eclipse for php + Xdebug搭建PHP的调试环境

第二步:下载Xdebug (下载地址位于: http://xdebug.org/download.php,我的PHP版本为 PHP 5.3.28 Thread Safety, Apach为2.2.25,使用的端口号8080),我下载的Xdebug版本为 php_xdebug-2.2.3-5.3-vc9.dll ,并且放入到"PHP/ext目录中。

第三步:在PHP5里面找到php.ini,在这个文件的最后面加入如下配置信息:

zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

;extension = php_xdebug-2.2.3-5.3-vc9.dll

[Xdebug]

xdebug.auto_trace = On

xdebug.show_exception_trace = On

xdebug.remote_autostart = On

xdebug.remote_enable = On

xdebug.collect_vars = On

xdebug.collect_return = On

xdebug.collect_params = On

xdebug.trace_output_dir=”D:/xDebugLog”

xdebug.profiler_output_dir=”D:/xDebugLog”

xdebug.profiler_enable=On

xdebug.remote_host=localhost

xdebug.remote_port=9000

xdebug.remote_handler=dbgp

这里要特别注意:如果在文件里有其他的zend_extension_ts,需要注释掉,否则apache无法启动。

第四步:启动apache。

第五步:在eclipse的项目里的Properties里面找到"PHP Debug",在PHP Debugger里面选择"XDebug"

c8a629aa2d69187605e4cfee8e93df72.png

9a1ddb120bb69f8130a0c594f65c5b0f.png

d949641481b85b995e95a708fa7c1a34.png

第六步:再在Windows->Preferences里面配置下PHP Servers

95d6ebdb214bea0394d138a9e0e83fa2.png

8d6f43a320f6b38a76c2d782df247686.png

第七步:再在Windows->Preferences里面配置下PHP Executables

79d68c5049793cbf3b7bd29c13ec2efc.png

ea07bab54faa3cd80559c1ca445ba1d8.png

第八步:再在Run->Debug Configurations里面确认Path Mapping的配置和第六步中的一致。

bfb3a1ac0fce571430459974c9863976.png

接下来,进入debug界面,就可以开始设置断点进行debug了。

配置中遇到的问题:

1 、在 phpinfo(); 打印的信息中一直找不到 Xdebug 的字样。

解决办法:在 php.ini 文件中,作如下修改:

zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

[Xdebug]

xdebug.auto_trace = On

修改为:

;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

extension = php_xdebug-2.2.3-5.3-vc9.dll

[Xdebug]

xdebug.auto_trace = On

2 、在代码中添加断点,但是断点无效,不能停止。

解决办法:在 php.ini 文件中,作如下修改:

;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

extension = php_xdebug-2.2.3-5.3-vc9.dll

[Xdebug]

xdebug.auto_trace = On

修改为:

zend_extension = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

;zend_extension_ts = D:\php\ext\php_xdebug-2.2.3-5.3-vc9.dll

;extension = php_xdebug-2.2.3-5.3-vc9.dll

[Xdebug]

xdebug.auto_trace = On

我的 php 版本明明是 Thread safe ,但是此处使用 zend_extension_ts ,却不行,不太明白。

3 、断点只能在第一行起效,后面的仍不能停止。

解决办法:参考上面第五步,选中 Use MultiSession ;参考上面第八步,确认 Path Mapping 的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值