您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

运用NetBeans + Xdebug调试PHP程序

2024/4/20 12:46:48发布6次查看
使用netbeans + xdebug调试php程序
前些天发现通过notepad++的dbgp插件结合php的xdebug扩展可以实现php文件调试,同时,介绍说包含了单步调试、监视变量还有跨文件调试。按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为dbgp插件也存在许多缺陷,烦恼不断,经常性地stack overflow,很是遗憾。后来想想np++只是editor,不要对它强求过多,插件的版本也比较低,存在许多bug也是可以理解的,等它慢慢完善再说吧,开源社区的力量可是很强大的,^^。
昨晚在坛里某位同志的博文里再次见到了netbeans这个熟悉的字眼(之前选开发环境的时候因为nb非常强大,功能设置很人性化,界面非常友好,又有非常强的自动完成功能,都差不多就要定它了,可是因为当时不懂有xdebug,所以没搞懂怎么调试,就继续用着ep ctrl+b“调试”程序了),就用加上“xdebug”google了一下发现nb调试功能就是通过其实现的,而且功能齐全,评价不错,哈哈,大大的惊喜,因为太晚了怕影响舍友休息,就决定次日来搞掂它。
……
今天外出溜达回来后,把开发环境折腾了一番,现将配置过程整理如下:
[我的环境]
os:vista business sp1 en_us
php:5.2.8
apache:2.2.11
netbeans:6.5.1 php
? ?http://www.netbeans.org/downloads/start.html?platform=windows?=zh_cn&option=php&version=6.5.1
xdebug: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\ext
2、修改php.ini,在末位添加如下内容:
[php]
zend_extension_ts= d:\wamp\php\ext\php_xdebug-2.0.2-5.2.5.dll
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.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/
order allow,deny
allow from all
#addtype application/x-httpd-php .php
addtype application/x-httpd-php .php
action 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.my400800.cn
?
1、打开项目,设置断点.jpg
?
2、执行调试.jpg
?
3、调试方式.jpg
?
4、单步调试.jpg
?
1.“xdebug 会与zend_optimizer相冲突,请注释/删除掉php.ini内的与zend_optimizer相关的语句”
? ? 不知道哪些语句是与zend_optimizer相关的语句 楼主能否详细的给出
2.我的是win操作系统
? ?php 5.2.9
? ?apache 2.11
? ?mysql 5.1
不知道是否和楼主配置的方式是一样的
3.我也很喜欢netbeans的开发模式 但是xdebug总是调试不好 按照网上说的做了还多次
仍旧不行前期最终选择了放弃看了楼主发表的具体配置方法 很是感激 不过还有上面
两个疑问谨希望能够得到楼主的最快最详细的回复答案非常感谢?
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录