现在很多IDE都有断点调试,对于用过断点调试的开发者来说,能加断点,能看到内存,能看到类和函数执行的流程简直爽歪歪。对于不支持断点调试的IDE就很令人头疼了,比如PhpStorm,我之前做的是iOS开发,用�Xcode感觉无比强大,用了PhpStorm之后要看一个数组的值对不对,就得各种echo+die或者vardump+exit;非常蛋疼,直到听说一种叫Xdebug的东西。
今天下午一边查资料一边配置了一下,现在我就整理下如何配置PhpStorm+Xdebug的调试环境。
1.运行环境:
操作系统:Mac 10.12(我没用windows配置过)
PhpStorm版本:10.0.2 (这不重要)
PHP版本:5.6.10(这也不重要)
Xdebug版本:php_xdebug-2.5.0-5.6-vc11-nts-x86_64.dll (暂时也不重要,我只是列一下)
我看过所有的帖子都有在这后面加了一句:PHP版本和Xdebug版本一定要相对应。其实在我配置的过程中这一点根本没有关心,并不是说版本不匹配也可以,那么问题来了,怎么就算版本匹配呢?这里有下载Xdebug的官网,我看了半天也不知道下哪个,如果你知道该下哪个版本的话就可以在官网下载。如果也像我一样不知道该下哪个,那就往下看吧。
2.安装Xdebug扩展:
首先祭出官方的安装指南Xdebug Installation Guide
官方推荐的是使用homebrew命令行安装(homebrew如果不知道是什么, 可以百度一下把homebrew安装上,使用brew命令行安装软件非常方便)
命令格式是
brew install php<版本号>-xdebug
如我使用的是php5.6.10,版本号也就是56所以命令如下
brew install php56-xdebug
然后使用命令检查Xdebug是否安装成功
php -v
看到如下内容表示Xdebug安装成功了
图2.13.配置php.ini文件
首先说一下我配置过程中遇到的问题,我使用命令查找本地所有的php.ini,会发现有一大堆,遇到问题就是不知道该改哪一个。
sudo find / -name php.ini
原则是你使用的是哪个环境的php版本就修改对应的php.ini。比如我配置的环境是用MAMP,所以应该修改的就是MAMP路径下对应版本的php.ini。最简单的方法是通过MAMP的menubar来打开php.ini进行修改
图3.1找到xdbug配置的地方,一般在文件最后面,修改为如下,其中zend_extension后面的路径要换成自己的,一般MAMP的php扩展在/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/路径下,你需要把下载的php_xdebug-2.5.0-5.6-vc11-nts-x86_64.dll文件放到该路径下,然后配置到php.ini文件里。
[xdebug]
MAMP_Xdebug_MAMP
zend_extension="/Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/php_xdebug-2.5.0-5.6-vc11-nts-x86_64.dll"
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= localhost
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
保存后重启服务器。查看phpinfo是否生效
这样Xdebug就配置好了。后续如何具体使用PhpStorm这里就不赘述了,有好多帖子都可以参照。官方的在这Zero-configuration Web Application Debugging with Xdebug and PhpStorm
网友评论