网行客の泡猫

本博客上装有视频监控,请你面带微笑!
 

博客 >工作·学习 > 查看日志

一步一步使用NetBeans+XDeBug调试PHP程序

2012-1-9 21:06:12

花了很多时间在选择PHP的IDE,最后留下两个:Eclipse和NetBeans,再最后选择了NetBeans。虽然觉得两者差别不大,最终影响我的选择的原因是:NetBeans的官网上直接下载的就是中文版,老半天也没找到Eclipse的中文版或语言包。

安装好NetBeans(版本7.1)后,配置xdebug过程如下:

下载Xdebug

注意选择正确的版本,可以通过phpinfo() 查看对应的版本。如我的php为5.3,phpinfo中显示PHP Extension Build API20090626,TS,VC6;Architecture:x86。故选择下载PHP 5.3 VC6 TS (32 bit)。

下载地址:http://www.xdebug.org/download.php

将下载的xdebug(本例为php_xdebug-2.1.2-5.3-vc6.dll)放在php的ext目录下。

打开php.ini,在尾行添加如下代码:

zend_extension_ts="X:/php的ext目录/php_xdebug-2.1.2-5.3-vc6.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000  
xdebug.remote_handler=dbgp 

安装完成,在phpinfo()信息中可以看到xdebug的信息,没有看到的话重启一下Apache即可。

根据系统、环境的不同可能会遇到一些问题,常见如下:

 

1、xdebug 会与zend_optimizer相冲突,请注释/删除掉php.ini内的与zend_optimizer相关的语句;xdebug.remote_port的值要与NB的工具->选项->调试器端口 所填写内容一致,缺省为9000;
2、 在Vista环境下,通过apache模块加载php的方式在载入xdebug后执行php脚本apache会崩溃,如果要正常使用xdebug调试PHP程序的话,需要将PHP的运行方式更改为CGI,请在httpd.conf添加如下内容:
 
PHP代码
#LoadModule php5_module X:/Wamp/php/php5apache2_2.dll  
#PHPIniDir "X:/Wamp/php/"  
ScriptAlias /php/ "X:/Wamp/php/"  
<Directory X:/Wamp/php/>  
Order allow,deny  
Allow from all  
</Directory>  
  
#AddType application/x-httpd-php .php  
AddType application/x-httpd-php .php  
Action application/x-httpd-php "/php/php-cgi.exe"  
 
注:注释掉的是以模块方式加载PHP的配置语句
 
 
调试方法:
 
1、 新建并打开项目
2、 打开需要调试的文件并设置断点。
3、 执行顶部菜单内的 调试->调试”xxx.php”,在弹出的对话框中选择“服务器端PHP”。点击确定后,NB会自动使用你的默认浏览器打开你要调试的文件,如:http://localhost/NewProject/index.php?XDEBUG_SESSION_START=netbeans-xdebug。此时,你会发现浏览器的请求一直未返回,而且NB右下角显示“netbeans-xdebug正在运行”,你就可以按F7正常调试程序了。
若未设置断点,执行调试的时候程序将自动在当前文件的第一行暂停执行。若不希望自动暂停执行,请取消勾选工具->选项->PHP->在第一行停止。
4、 表单处理调试可以执行 调试->调试项目,后续操作类似,只不过如果你执行到你设置断点的脚本时,NB会自动中断在断点处,等待你调试哈!

 

其他参考文档:

http://netbeans.org/kb/docs/php/debugging_zh_CN.html

http://wiki.netbeans.org/HowToConfigureXDebug#How_to_configure_xdebug_with_WAMP

2012-1-9 21:06:12 发布在 工作·学习 | 浏览(26) | 评论(0)
标签:PHP , NetBeans , XDebug

评论

发表评论