星点互联edus视频培训演示站

标题: Swoole 如何使用 Xdebug 进行单步调试 [打印本页]

作者: 超级玛丽    时间: 2020-12-1 10:48
标题: Swoole 如何使用 Xdebug 进行单步调试
在 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






欢迎光临 星点互联edus视频培训演示站 (http://47.100.112.22/demo/edus/) Powered by Discuz! X3.5