Netbeans+xdebug

1.首先确定自己的php环境,本次环境是wamp2.0 (apache2.2+php5.2.9+mysql5.0)

2.参照官方说明

a 下载对应版本的xdebug,这里官方让下载的是php_xdebug-2.0.4-5.2.8.dll for WAMP2,到下在页面下载php_xdebug-2.0.4 线程安全版,因为wamp2.0是线程安全的,

拷贝到php扩展的文件夹里。

b 添加以下到apache的bin目录的php.ini

zend_extension_ts="C:/wamp/bin/php/php5.2.9-1/ext/php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
 

其中 zend_extension=D:/php/ext/php_xdebug-2.2.1-5.4-vc9.dll 是php5.3以及以上版面的写法,

如果是php5.2以及以下版本的是 zend_extension_ts="C:/wamp/bin/php/php5.2.9-1/ext/php_xdebug-2.0.4-5.2.8.dll"

 

c 到这里其实就ok了。测试一下是否能debug。

一直等待连接就是没成功,连接成功是“正在运行”。
zend optimizer扩展要关闭
 
3.关于xdebug.idekey,没有设置也没有关系。本次配置没有设置。
例: ;xdebug.idekey = "netbeans-xdebug"
这里是被注释掉的 phpinfo里的xdebug.idekey显示 no value no value
 
4.关于xdebug.remote_log,设置完后启动netbeans debug会输出log,可以进行察看。
例:xdebug.remote_log = "C:\xdebug\xdebug.log"
 
5.官方测试用的这段代码
<?php
$address = '127.0.0.1';
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Unable to bind');
socket_listen($sock);
$client = socket_accept($sock);
echo "connection established: $client";
socket_close($client);
socket_close($sock);
?>
只是看你能不能连上9000端口。一般phpinfo出现xdebug信息就能连上。这里使用了socket_create需要打开extension=php_sockets.dll
 
6.往netbeans的配置文件添加 -J-Dorg.netbeans.modules.php.dbgp.level=400
没有添加也可以调试,还没调查清楚是干什么用的,可能是netbeans的log需要吧。

你可能感兴趣的:(Netbeans+xdebug)