操作系统:mac

IDE:vscode

调试器:Yasd

因为swoole_loader无法和xdebug、ioncube、zend guard loader、swoole_tracker扩展兼容,使用前需要先卸载。可以尝试使用Yasd与sdebug扩展调试

1、macOS需要安装boost:

brew install boost

2、到官网去git或dowload yasd源码:https://github.com/swoole/yasd,下载到yasd目录中

3、在下载到的源码目录中进行编译,生成yasd.so文件,使用以下命令:

phpize --clean && \
phpize && \
./configure && \
make clean && \
make && \
make install

4、找到系统php.ini文件,这里可以使用:  

php --ini

如下:

在IDE下使用yasd断点调试_在IDE下使用yasd断点调试完整版

5、打开查到的目录中对应的php.ini加入:

zend_extension="yasd.so"

yasd.debug_mode=remote

yasd.remote_host="127.0.0.1"

yasd.remote_port=9002

我这里使用了9002端口,这里可以理解为php开启了端口为9002监听链接的服务

6、重新启动php,这里提供两种方式:

如果是brew安装的php可以使用(以我的mac,brew安装了php7.2为例):

  brew services start php@7.2   //start开启

如果是直接启动了php-fpm,用以下命令:

   sudo php-fpm           //启动

  sudo  killall  php-fpm //删除

7、IDE中时使用,这里以vs code为(还是需要先安装对应的php debug插件),在对应的插件中设置程序运行时监听对应端即可

在IDE下使用yasd断点调试_在IDE下使用yasd断点调试完整版_02

哦了