【最全踩坑指南】mac安装php扩展xdebug与断点调试全流程

一、利用pecl安装xdebug
xdebug 功能强大,可以追踪代码,断点调试等等。现在就来动手安装下它。我的环境:php是7.2版本, phpstorm是2019版本, xdebug是2.9.3版本。看不同的PHP版本可以安装哪种xdebug,详见:https://xdebug.org/docs/compat#versions

我是用pecl安装xdebug插件的,也可以直接去官网下载安装:https://xdebug.org/download.php  是xdebug的所有资源下载列表


1、pear/pecl 需要单独进行安装
curl -O https://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar

输入1,回车,配置pear路径为:/usr/local/pear(一定是这个路径哈,提示给的路径不行),回车
输入4,回车,配置命令路径为:/usr/local/bin(一定是这个路径哈,提示给的路径不行),回车
回车两次,其他让其默认,安装完成
pear version   检查pear安装是否成功

2、通过pecl安装xdebug扩展
(如果报错:Connection to `pecl.php.net:80' failed: Connection timed out
可先下载好的xdebug包,再用pecl安装:
https://blog.csdn.net/u010953609/article/details/101027077

sudo pecl install xdebug

当看到类似如下文字的,说明安装成功了
Build process completed successfully
Installing '/usr/local/Cellar/php@7.2/7.2.25/pecl/20170718/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.9.3
Extension xdebug enabled in php.ini

3、查看xdebug是否启用正确的2种方式:
    a. php -m 看到列表有xdebug
    b. phpinfo()查看是否真的安装成功了,但前提是需要重启php

4、php.ini中配置xdebug

其中查看php.ini文件的位置,可以用 php --ini 或者 php --ini|grep php 命令

zend_extension="/usr/local/Cellar/php@7.2/7.2.25/pecl/20170718/xdebug.so" #mac是.so,windows是.dll
xdebug.idekey = "PHPSTORM"
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9018 #这个端口随便写,但最好不要用9000,防止和php(storm)的默认9000端口冲突,
xdebug.remote_enable = 1 #允许与远程web服务器连接,1允许,0不允许

基本上这5个核心配置配置好了就可以了,其他走xdebug的默认配置就好了。然后记得千万要重启php,用phpinfo()函数查看xdebug的这几个配置是否奏效。


二、phpstorm+浏览器(谷歌/火狐)

1、浏览器安装配置xdebug

    a.浏览器(谷歌/火狐)安装xdebug插件
如果是谷歌浏览器:谷歌浏览器的应用商店,搜索xdebug,安装,就能在浏览器右上角看到xdebug小臭虫的标记了。
如果是火狐浏览器:火狐浏览器右上角三条横杠-->附加组件-->搜索xdebug,第一个Xdebug-ext就是了,点击安装,就能在浏览器右上角看到xdebug小臭虫的标记了。


    b.配置xdebug:
点进去xdebug小臭虫-->首选项-->选择对应的IDEkey,就是刚在php.ini里配置的xdebug的idekey,点击"保存"


2、phpstorm配置xdebug

phpstorm--->preferences(首选项)
a. php版本配置成php7.2,--->Languages&Frameworks --->PHP,配置Php language level和CLI Interpreter,其中如果CLI Interpreter没有的话,这么点击该项最后的三个点去手动配置。

b. xdebug的端口配置成9018,--->Languages&Frameworks --->PHP->Debug

c.可选c. 可选项。DBGp Proxy选项的需要下载DBGP proxy软件并运行的,目的是解决多个人同时的调试,如果是一个人本地调试就不用管它。--->Languages&Frameworks --->PHP->Debug--->DBGp Proxy

开启dbgp的同时,需要在php.ini文件中加上

xdebug.remote_handler="dbgp"
 

3、配置xdebug连接上web服务器

 

第4步这里的浏览器,我选择了火狐哈,也可以改成google

4、运行xdebug

详见左右两图。小电话是开启调试模式,电话旁边的小臭虫师开始调试执行。先是执行左边的图,然后把浏览器里的控制器/方法改为需要断点调试执行的test/index,就能很清楚看到每一步执行的结果了


三、常见疑难问题

1、phpstorm和xdebug都配的没问题,但是,打了断点,就是访问不了?

原因1:phpstorm版本与xdebug版本不匹配。我刚开始phpstorm版本是2017,xdebug版本是2.9.3(2020年3月15日看是最新的)
解决1:phpstorm版本果断升级到2019, 分分钟好了。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值