现在一有点小毛病不是怨win7就是怨64位,今天给netbean装Xdebug的时候又弄了半天才通过,事实上,也未必是win7 64bit的原因,总结如下:
先给个文档,官方的,地址如下:http://wiki.netbeans.org/HowToConfigureXDebug
1,正常安装(或解压)netbean,我用的是6.9版
2,打开任一项目,做测试用。
3,我的服务器环境是apache 2.2.15, php 5.3.2,使它正常运行。
4,在phpinfo页(或自建该页面,写入<? phpinfo() ?>),查看下面两项
Zend Extension Build | API220090626,TS,VC6 |
PHP Extension Build | API20090626,TS,VC6 |
得到VC6,以及TS这两个值,后面用。
5,进入http://www.xdebug.org/download.php页面,下载跟上面两个指标相同的版本的dll文件回来(服务器版本和VC版本),如我的就要下5.3VC6(32bit),
开始我以为要下64bit的,后来才想起,我的服务器装的是32bit的,所以还是选择这个。
事实上,你到下载页会发现,还有一个5.3 VC6 Non-thread-safe (32 bit)的项可供下载,怎么选呢?这时候上面说到的在phpinfo里面看到的“TS”就要发挥作用了,它表示的是thread safe,所以显然我不能下non-thread-safe的,就这么个意思。所以要你打开那个页面仔细对照。
下载回来后,把它放到php安装目录的ext文件夹里面
6,打开php的配置文档php.ini,在最末尾加上
zend_extension="I:\EasyPHP\php\ext\php_xdebug-2.1.0-5.3-vc6.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
其中后面四行照抄就是,第一行有zend_extension_zs这种用法,至于我为什么没用zs,文首提到的官方文档里是这么说的:
NOTICE: From PHP 5.3 onwards, you need to use zend_extension and not zend_extension_ts.
我的是5.3版的,所以自然就没用_ts了。
此外,第一行里面的路径必须填入绝对路径;
第二、三行照抄;
第四行,win7里面的127.0.0.1 localhost这一句话是被注释掉了的,需要手动到hosts文件里面去开启;
第五行,注意一下端口是否被占用就是了,万一被占用,就要把这里,和netbean里面工具》选项》PHP》调试 里面的配置改成相同的端口就行了。
7,打开你的项目,在首页设个断点,按F11调试,看是不是显示xdebug连接成功了。我一直失败就失败在选择xdebug.dll的版本错误上,上面已经详细说明了应该怎么选,以及php.ini应该怎么配。至于有的用了zend引擎的,要把php.ini里面有关zend_extension的都注释掉,只留上面那几行就可以了,试试吧。