返回顶部
  • 发帖数42
  • 粉丝1

现就职于某世界500强区块链团队,从事区块链底层研究以及BAAS平台搭建。精通区块链底层存储、共识等技术,职业方向偏重联盟链体系

[开发语言] Swoole 如何使用 Xdebug 进行单步调试

[复制链接]
超级玛丽 显示全部楼层 发表于 2020-12-1 10:48:48 |阅读模式 打印 上一主题 下一主题
在 PHP-FPM 中使用 Xdebug 的人应该不少,而在 Swoole 中使用 Xdebug 的人还是很少的,原因是 Swoole 扩展明确说明了和 Xdebug 扩展冲突
不过好在我们社区成员给力,提供了一个 Sdebug ,在此我们应该感谢 @mabu233@huanghantao 进行了兼容,让 Xdebug 可用于 Swoole 环境进行断点、调试
之前在 Swoole 文档中补充了 Sdebug 的安装,同样的 Sdebug 的 README 也进行了修改介绍如何安装,不过都是简单说明如何成功加载扩展,没有详细说明配置
先说一下如何安装 Sdebug
为了避免 Swoole 的检测 Xdebug 警告,所以扩展注册的名称是 Sdebug
  1. git clone git@github.com:swoole/sdebug.git -b sdebug_2_9 --depth=1
  2. cd sdebug
  3. phpize
  4. ./configure
  5. make clean
  6. make
  7. make install
复制代码

步骤很简单,就是 clone 源码,进入目录然后编译
如果你的 PHP 是通用安装,没有修改默认位置等等,也可以直接运行目录下的脚本:
./rebuild.sh
如果你的 phpize 不是默认路径的话,请使用绝对路径;同样的 php-config 需要使用--with-php-config=加上你的绝对路径
编译成功后需要在 php.ini 加载扩展
zend_extension=xdebug.so
编译完成后生成的 so 文件名还是 xdebug
查看是否加载成功
php --ri sdebug
别走,还没完,还需要一些其他的配置,不然你去断点会发现不起作用
我们还需要在 php.ini 中加入这几个配置项
xdebug.remote_enable=1xdebug.remote_autostart=1xdebug.remote_host=localhostxdebug.remote_port=8000xdebug.idekey="xdebug"
一个配置难倒英雄汉,很多人在使用 Sdebug 的时候就会遇到需要这样问题,不起作用,就吐槽不好用,实际上是你的姿势不对,配置项没加或者加错了
需要配合 PhpStorm 的话,还需要设置一下 PhpStorm 的配置
Preferences | Languages & Frameworks | PHP | Debug

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

星点互联 成立于2014年8月,是目前国内优秀的开源技术社区,拥有超过300万会员,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作