一、前言
根据网上众多的配置教程,反复配置都没成功。其实配置成功关键与否在于针对不同的软件版本进行相应的配置。授人以鱼不如授之以渔,如果你的软件版本和笔者的不同,那么可以参考我提供的步骤,再结合你实际的版本做相应的调整就可以了。
二、配置环境
系统版本:Win7
phpstorm版本: 8.0.3
Xdebug版本: 2.1.2,PHP 5.3 VC9(32bit)
Chrome
版本: 46.0.2490.86 m
WampServer版本: 2.2(PHP 5.3.10, Apache 2.2.21)
1、选择正确的Xdebug版本。
选择正确的Xdebug版本是决定调试功能安装成功与否的关键。网上大多对如何选择Xdebug版本描述过少,其实这一步做好了,接下来的配置就相对简单很多。那如何选择Xdebug版本呢?
选择Xdebug版本要从三个角度来决定:
1)系统是32位还是64位?
2)php的版本是什么?
3)你的配置环境是否支持VC6、VC9、VC11?
以笔者的电脑配置环境为例,我的win7系统是32位,PHP版本5.3.10,登陆http://xdebug.org/download.php看到符合二者要求的有一大堆(见下图红圈部分):
那么符合配置环境的到底是哪个呢?
Xdebug.org提供了一个在线测试版本的方法,登陆http://xdebug.org/wizard.php,将你的phpinfo()代码输出的结果,全部复制粘贴到wizard.php的输入框中,点击提交按钮,Xdebug.org会给你合理的版本建议。
但很遗憾,估计是我的php版本太低,Xdebug.org并未告诉我应该选择哪个版本。这里给出几个选择的建议,供大家参考:
1)网上有些文章说VC9版本是用于IIS的,VC6是用于apche服务器的。这里根据我的实践,可告诉大家,
VC9版本是说Xdebug程序是用VC2008编译的,VC6版本是用VC6编译的,VC11是用
Visual Studio 2012编译的。如果你的电脑是安装了apache,
一般是把PHP作为一个Module load到apache中,那么以apache父进程-多子进程的工作模式,是需要进行线程安全检查的,所以如果是以这种方式执行php,选择ts版本;如果你的电脑使用IIS配置PHP,那么需要选择Non-Thread Safe(NTS)版本。
2)如果你安装的apache版本在2.2以上,php在5.3以上,建议优先使用VC9或VC11版本;反之,建议优先选择VC6版本。
根据以上原则,笔者选择的是Xdebug 2.1.2,PHP 5.3 VC9(32bit)版本。
2、将下载后的xdebug文件复制到正确的目录下。
下载后的xdebug程序是一个dll文件。 将dll文件拷贝到你的php的ext或zend_ext目录下。我的是拷贝到“zend_ext”文件夹下,如下图所示。对于只有ext文件夹的朋友来说,就可以拷贝到ext文件夹下。
3、PHP正确安装xdebug扩展。
找到你的php.ini文件,做如下配置(仅供参考):
zend_extension = "C:/wamp/bin/php/php5.3.10/zend_ext/php_xdebug-2.1.2-5.3-vc9.dll"
[xdebug]
;是否开启自动跟踪
xdebug.auto_trace= On
;是否开启异常跟踪
xdebug.show_exception_trace= On
;是否开启远程调试自动启动
xdebug.remote_autostart= On
;是否开启远程调试
xdebug.remote_enable = On
;配置远程调试主机ip
xdebug_remote_host = "127.0.0.1"
;是否开启调试扩展信息
xdebug.extended_info=On
;是否开启调试内容