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.dll6.往netbeans的配置文件添加 -J-Dorg.netbeans.modules.php.dbgp.level=400没有添加也可以调试,还没调查清楚是干什么用的,可能是netbeans的log需要吧。