win7 64bit给netbean开启Xdebug调试功能

现在一有点小毛病不是怨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的都注释掉,只留上面那几行就可以了,试试吧。

原文地址:https://www.cnblogs.com/walkerwang/p/1785283.html