PHP利用NetBeans + Xdebug调试PHP程序的解决办法
内容摘要
这篇文章主要为大家详细介绍了PHP利用NetBeans + Xdebug调试PHP程序的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!按照网络上
对此感兴趣的朋友,看看idc笔记做的技术笔记!按照网络上
文章正文
这篇文章主要为大家详细介绍了PHP利用NetBeans + Xdebug调试PHP程序的简单示例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记!
按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为DBGP插件也存在许多缺陷,烦恼不断,经常性地stack overflow,很是遗憾。后来想想Np++只是Editor,不要对它强求过多,插件的版本也比较低,存在许多BUG也是可以理解的,等它慢慢完善再说吧,开源社区的力量可是很强大的,^^。昨晚在坛里某位同志的博文里再次见到了NetBeans这个熟悉的字眼(之前选开发环境的时候因为NB非常强大,功能设置很人性化,界面非常友好,又有非常强的自动完成功能,都差不多就要定它了,可是因为当时不懂有xdebug,所以没搞懂怎么调试,就继续用着EP Ctrl+B“调试”程序了),就用加上“xdebug”google了一下发现NB调试功能就是通过其实现的,而且功能齐全,评价不错,哈哈,大大的惊喜,因为太晚了怕影响舍友休息,就决定次日来搞掂它。…… 今天外出溜达回来后,把开发环境折腾了一番,现将配置过程整理如下:[我的环境]OS:Vista Business SP1 en_USPHP:5.2.8Apache:2.2.11NetBeans:6.5.1 PHP http://www.netbeans.org/downloads/start.html?platform=windows〈=zh_CN&option=php&version=6.5.1Xdebug:2.0.4-5.2.8 http://www.xdebug.org/files/php_xdebug-2.0.4-5.2.8.dll[安装Xdebug]1、将php_xdebug-2.0.4-5.2.8.dll解压至php安装目录下的ext文件夹。本机为:D:\Wamp\php\ext2、修改php.ini,在末位添加如下内容:[php]zend_extension_ts=" D:\Wamp\php\ext\php_xdebug-2.0.2-5.2.5.dll"xdebug.remote_enable=1xdebug.remote_host=127.0.0.1xdebug.remote_port=9000xdebug.remote_handler=dbgp[/php]注:zend_extension_ts 的值以你实际安装位置为准;xdebug 会与zend_optimizer相冲突,请注释/删除掉php.ini内的与zend_optimizer相关的语句;xdebug.remote_port的值要与NB的工具->选项->调试器端口 所填写内容一致,缺省为9000;3、在Vista环境下,通过apache模块加载php的方式在载入xdebug后执行php脚本apache会崩溃,如果要正常使用xdebug调试PHP程序的话,需要将PHP的运行方式更改为CGI,请在httpd.conf添加如下内容:[php]#LoadModule php5_module D:/Wamp/php/php5apache2_2.dll#PHPIniDir "D:/Wamp/php/"ScriptAlias /php/ "D:/Wamp/php/"<Directory D:/Wamp/php/>Order allow,denyAllow from all</Directory>#AddType application/x-httpd-php .phpAddType application/x-httpd-php .phpAction application/x-httpd-php "/php/php-cgi.exe"注:注释掉的是以模块方式加载PHP的配置语句[/php][开始调试]1、新建并打开项目2、打开需要调试的文件并设置断点。3、执行顶部菜单内的 调试->调试”xxx.php”,在弹出的对话框中选择“服务器端PHP”。点击确定后,NB会自动使用你的默认浏览器打开你要调试的文件,如:http://localhost/Comsenz/UCenter_Home/index.php?XDEBUG_SESSION_START=netbeans-xdebug。此时,你会发现浏览器的请求一直未返回,而且NB右下角显示“netbeans-xdebug正在运行”,你就可以按F7正常调试程序了。若未设置断点,执行调试的时候程序将自动在当前文件的第一行暂停执行。若不希望自动暂停执行,请取消勾选工具->选项->PHP->在第一行停止。4、表单处理调试可以执行 调试->调试项目,后续操作类似,只不过如果你执行到你设置断点的脚本时,NB会自动中断在断点处,等待你调试哈!5、详细的请参照NB官方调试指南http://www.netbeans.org/kb/docs/php/debugging_zh_CN.html[参考站点]http://www.netbeans.org/downloads/index.html (NetBeans下载)http://www.xdebug.org/download.php (Xdebug下载)原文:http://www.zvv.cn/blog/show-101-1.html[ 本帖最后由 zwws 于 2009-3-29 02:55 编辑 ]1、打开项目,设置断点.jpg
2、执行调试.jpg
3、调试方式.jpg
4、单步调试.jpg
5、项目调试(跨页).jpg
楼主写得那么详细。顶上!
1、呵呵,解决问题的方法很重要的,如果你知道zend_optimizer是如何安装的,那不就解决问题了么?我用“zend_optimizer php.ini”在google搜到了这篇文章http://ideacm.com.cn/read.php?12所以你只要根据文章在本地的php.ini里找到文章内提到的相关语句注释掉不就好了嘛,其实就是"zend_Optimizer."打头的语句。当然,前提是你安装了zend_optimizer.2、xdebug 2.0.4 支持 PHP 5.2.9的。
豆瓣淘滴。
多谢LZ指教!!
支持楼主
zend optimizer和 xdebug是可以共存的
我想问一下我的这个情况http://bbs.phpchina.com/thread-149075-1-1.html调试后步入步出不能用
楼主,我都按照你说的配置了,为什么,ide又下角老是显示 正在等待连接(netbeans-xdebug).没有办法调试
不错啊!
http://zh-cn.netbeans.org/kb/docs/php/debugging.html
回复 12# zhenjiangdeni
注:关于PHP利用NetBeans + Xdebug调试PHP程序的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释