前提
刚从Windows转到OS X,工作需要给phpstorm安装断点调试工具xdebug,一开始没当回事,心想不就个插件吗,上网看看文档还不是分分钟搞定,没想到就是噩梦的开始。整整两天,翻遍谷歌和百度以及各大论坛,填了无数的坑,最终才安装完毕。
所以在这里我把安装的过程分享出来,希望后来者不要被浪费宝贵的时间了。T_T配置
系统:macOS High Sierra
10.13
开发环境: for OS X
7.1.11
开发工具:PHPStorm
2017.2
,安装插件:
注意事项:视具体情况,需要翻墙,请自行处理。
特别鸣谢:见文末
正文
1.1、安装XAMPP
先去下载,我使用的是7.1的版本,具体的根据实际需求决定:
打开之后是一个.app
格式的文件,双击,一步一步走下去即可;
sudo rm -rf /Application/XAMPP
安装成功:
(敲黑板)
下面是重点!!!
当你启动XAMPP,会提示你Apache无法启动
看到这一幕,当时我就不乐意了:网速这么差,我辛辛苦苦下了半天安装包,你跟我说你不能启动?!进命令行使用
start
执行xampp,提示:
是的,你没有看错,提示你启动失败,有个王八蛋已经先你一步把你的坑给占了。
其实原因很简单OS X系统内置了php的环境
前面我已经说过了,我是刚从Windows转到Mac上,在Windows上哪有这么好的待遇,还能提前给你把环境安装好,所以我一直陷在了一个思维定式里面,以为是我操作有问题,上网找各种资料,使用命令:
sudo /usr/sbin/apachectl stop
然后再在XAMPP软件中手动点击启动按钮,就可以解决这个问题。
这条命令的意思就是把Mac自带apache服务给关闭了,那我们再启动第三方的开发环境(也就是XAMPP),这时候没有人占用端口了,当然也就能启动了。所以这里一定要注意,很多人出错都是出错在这里,都把配置文件写在了Mac的PHP环境中的php.ini文件中,最后肯定无法生效。OK,既然我们安装了XAMPP,那么肯定是希望以它为主,所以需要在Mac的/etc/paths
中,添加它的环境变量的路径:
/Applications/XAMPP/bin/Applications/XAMPP/xamppfiles/bin
1.2、选择xdebug版本
有很多版本,当你第一次看到这么多版本的时候,我相信你和我一样会选择困难症发作的,不要方,开发者考虑到我们这些特殊的群体,会根据我们具体的环境给你推荐合适的版本进行下载(手动点赞)首先,获取你的环境信息,即phpinfo();因为XAMPP默认htdocs为根目录,所以我的代码都放在这个目录下,当然也是可以改的,但是不在本文的范围之内。在浏览器输入:
localhost/info.php
如果出现这个页面,就说明安装成功了有人会说为什么我在页面中打印出来的版本号和我在终端中使用
php --version
打印出来的版本号不一样呢?道理同上,浏览器中显示的是XAMPP环境下的php版本,终端中显示的是Mac系统下的php版本。 轻轻的插一句:
如果你只是希望在默认的系统环境下安装xdebug,不想安装XAMPP,这里有一篇文章也许能帮助到你:言归正传
1.3、安装xdebug及修改配置文件首先需要明确一点!
我们是要把xdebug这个插件安装在Mac下的php环境中!注意!不要弄混!虽然我们使用的是XAMMP,但是xdebug一定要安在Mac下的php环境中!网上很多教程都没有说明白这一点,让我走了很多弯路!使用Mac自带的终端,运行php -i
,之所以这一步用自带的终端,是因为在实际操作中,iTerm2内容显示不完整;
Analyse my phpinfo() output
接下来又到了重点啦~
这个页面中的内容就是官方指导的安装方法,我们下面就会按照这些步骤进行安装:(敲黑板!!!)下面我是按照当时给我的安装步骤走的,流程都一样,严格按照页面显示的步骤走就行了:第一步:下载xdebug安装包下载完成之后自己不要解压,放在原处就好第二步:使用命令行在该目录下解压这个安装包第三步:进入解压后的文件夹内第四步:运行phpize这里应该会有很多人出错,我解释一下,phpize是一个插件(具体是什么我也不知道),我是利用homebrew来安装的:第五步:执行
./configure
第六步:使用make
编译第七步:执行make install
第八步:分别执行sudo cd /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/xdebug-2.5.0rc1
sudo make
sudo install
最后出现这个页面就对了:
第九步:修改XAMPP环境下的php.ini配置文件
sudo vim /Applications/XAMPP/xamppfiles/etc/php.ini
zend_extension = /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20160303/xdebug.sozts-20131226/xdebug.so"xdebug.remote_autostart=Onxdebug.remote_enable=Onxdebug.remote_mode="req"xdebug.remote_host="localhost" //或者127.0.0.1xdebug.remote_port=9999 //默认是9000,选9999避免可能和php-fpm冲突xdebug.remote_handler="dbgp"xdebug.idekey="PHPSTORM"xdebug.max_nesting_level=600
最后:重启服务器 sudo apachectl restart
2、配置phpstorm
2.1、配置php。使其找到xdebug插件废话不多说,直接上图
2.2、配置xdebug
统一说一下:下面的参数,要和你在php.ini末尾添加进去的那些文字的参数保持一致
2.3、配置Servers
2.4、配置Configurations
退出设置项,返回到phpstorm的主页面,点击那个右上角的倒三角形
添加新的PHP Web Application
配置
具体的调试方法我就不在这里写了,网上一大堆,如果懒得找,可以看最后的鸣谢部分。