Home  >  Article  >  Backend Development  >  How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial

WBOY
WBOYOriginal
2016-07-21 15:30:411004browse

按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为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.zvv.cn/blog/show-101-1.html

[ 本帖最后由 zwws 于 2009-3-29 02:55 编辑 ]

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial
1、打开项目,设置断点.jpg

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial
2、执行调试.jpg

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial
3、调试方式.jpg

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial
4、单步调试.jpg

How to debug PHP programs using NetBeans + Xdebug_PHP Tutorial
5. Project debugging (cross-page).jpg

Little Z always writes in such detail. On top!
PS: The poster’s avatar is very shocking
1. "xdebug will conflict with zend_optimizer, please comment/delete the zend_optimizer-related statements in php.ini"
I don’t know which statements are related to zend_optimizer Can the poster give the statement in detail? 🎜>
MYSQL 5.1

I don’t know if it is the same as the original poster’s configuration method
3. I also like the development model of NetBeans, but xdebug is always difficult to debug. I followed the instructions on the Internet many times
and it still didn’t work. I finally chose to give up in the early stage and read the specific configuration published by the poster. I am very grateful for the method, but I still have the above two questions

. I hope to get the fastest and most detailed reply from the poster. Thank you very much

sejie10011 (2009-3-31 11:07:11)
The poster wrote in such detail. On top!
zwws (2009-3-31 12:22:52)
1. Haha, the method of solving the problem is very important. If you know how to install zend_optimizer, wouldn’t it solve the problem?
I used "zend_optimizer php.ini" to search this article on google
http://ideacm.com.cn/read.php?12
So you only need to search the local php.ini according to the article Just find the relevant statements mentioned in the article and comment them out. In fact, they are the statements starting with "zend_Optimizer." Of course, the premise is that you have zend_optimizer installed.
2. xdebug 2.0.4 supports PHP 5.2.9.
zwws (2009-3-31 12:24:14)


Douban Taodi.

niohe (2009-3-31 22:43:54)
Thank you LZ for your advice!!
iminto (2009-4-02 19:58:07)
Support the original poster
Big Bowl of Tea (2009-4-03 17:02:32)
zend optimizer and xdebug can coexist
qgymje (2009-8-27 11:56:53)
I would like to ask about my situation
http://bbs.phpchina.com/thread-149075-1-1.html
Step-in and step-out cannot be used after debugging
zhenjiangdeni (2010-6-23 14:42:03)
Owner, I have configured everything as you said. Why, the bottom corner of the IDE always displays Waiting for connection (netbeans-xdebug). There is no way to debug

luzhou (2010-6-25 19:29:22)
Not bad!
luzhou (2010-6-25 19:31:05)
http://zh-cn.netbeans.org/kb/docs/php/debugging.html
gguoyu (2010-6-25 20:58:24)
Reply 12#
zhenjiangdeni
http://www.bkjia.com/PHPjc/323193.htmlwww.bkjia.com
true
http: //www.bkjia.com/PHPjc/323193.html

TechArticle

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn