swoole 使用 xdebug 实现调试模式(PHPSTORM)
1、安装sdebug插件
- 说明: swoole的官方编程须知中已经说到了,swoole与常规版本的 xdebug 不兼容,主要是由于大量全局变量的使用违背了协程的规范,可以见此网址的说明:https://wiki.swoole.com/wiki/page/851.html
- 另外如果想断点调试基于swoole的项目,专门衍生出了一个 sdebug,供调试swoole项目。安装流程参见:https://github.com/mabu233/sdebug
1.1、克隆
- 将对应的 sdebug 文件克隆下来(任意位置都行,临时文件用于引入php中)
git clone https://github.com/swoole/sdebug.git
- 进入sdebug文件中
cd sdebug
1.2、编译
- 运行phpize (或者 如果phpize不在您的路径中的情况下:/path/to/phpize )
phpize
- ./configure --enable-xdebug (如果php-config不在您的路径中需要找到对应的路径 )
./configure --enable-xdebug --with-php-config=/www/server/php/72/php-config
- make 命令运行
make clean && make && make install
2、配置
2.1、配置 php.ini
- 进入到php.ini的目录
cd www/server/php/72/etc
- 打开php.ini
vi php.ini
- 将下列的配置写入文件最下面几行(按住键盘的PgDn即可快速向下翻页)
;开启xdebug支持远程调试
xdebug.remote_enable=1
;远程调试的主机,一般都是docker宿主机器,本地调试就是本机,ip可以通过`docker inspect 容器名获得`
xdebug.remote_host=127.0.0.1
;远程调试机器的端口,一般是9000,和后面讲到的phpStorm里面保持一致
xdebug.remote_port=9000
;idekey 对接调试的密钥,和后面phpStorm里面的务必保持一致
xdebug.idekey=PHPSTORM
;自动触发调试,可以将这个值设为1;
xdebug.remote_autostart=1
;更多参数介绍请参见这里 https://xdebug.org/docs/all_settings
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=250
2.2、配置PHPSTORM
- 配置 DBGp 的反向代理
- 配置 Servers
- 需要改为Xdebug模式
- 端口需要和你跑swoole主端口一致
- 绝对路径需要配置,不然调试时候会报错,我这里写的是项目在子系统中的路径
3、调试
3.1、选择调试的服务并打开监听![](/assets/blank.gif)
3.2、调试时候的顺序
- 第一步:点击打开Debug ‘debug’(也就是那个昆虫)或者快捷键 Shift+F9
- 第二步:开启 swoole 服务,如果当前打开过则关掉之后开启
- 第三步:在对应的地方打上断点
- 第四步:请求对应打断点的接口/URL 即可调试
3.3、运行查看是否成功
- 如下图显示则是成功了:
如果有什么问题可以留言,欢迎互相交流共进步。
swoole 使用 xdebug 实现调试模式(PHPSTORM)相关推荐
- php xdebug远程调试配置(含cli模式)
找了很久php的xdebug扩展远程调试教程,大都已经过时,现在记录下php配置xdebug远程调试的过程. 适用php版本: php 7 ~ 8 适用安装xdebug3 版本 目录 1. 安装xde ...
- php单步调试,phpstorm,Xdebug单步调试
本地环境: windows10,phpstudy2018 PHP 版本7.2.10-NTS phpstorm 版本2020.1 单步调试比var_dump,print_r方便的多.但是配置过程比较繁琐 ...
- PHPStorm+XDebug进行调试
原文:PHPStorm+XDebug进行调试 笔者的开发环境如下: Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). ...
- phpstorm+Xdebug断点调试PHP
前言: 何为DEBUG? 相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道.关于debug的由来,要追溯到1937年.1937年,美国青年霍德华.艾肯找到IB ...
- phpstorm+xdebug远程调试
远端:centos7 phpstorm在windows上. centos7上同上一篇文章, [xdebug] zend_extension="xdebug.so" xdebug.r ...
- 在主机中通过xdebug远程调试Vagrant虚拟机中drush脚本的方法
改方法是调试drush所执行的php代码的方法,同样适用于普通的cli方式运行的php程序的调试. 1.首先需要调整cli方式的xdebug.ini配置: sudo vi /etc/php5/cli/ ...
- 宝塔 开启xdebug_宝塔安装及Xdebug断点调试配置
宝塔安装及Xdebug断点调试配置 WINDOW安装: 1.首先在此网站 https://www.bt.cn/ 下载宝塔: 2.安装在D盘中,安装完成后在软件面版的右上角菜单设置账号和密码: 3.访问 ...
- xdebug php7.3配置,PhpStorm配置Xdebug
本人用的是phpstudy 8.1.1.2,安装的php7.4与7.3都默认带了php_xdebug拓展 如果没有拓展,需要去xdebug官网下载 https://xdebug.org/downloa ...
- usb调试模式已打开,adb devices显示List of devices attached 解决办法!纽维K333一键ROOT,获取ROOT权限!...
usb调试模式已打开,adb devices显示老显示List of devices attached .刚开始以为USB线问题,跟朋友借了一根,未果. 更换其他的机子测试就可以显示设备,但是这部纽维 ...
最新文章
- 从Java到Spring为何独得青睐Spring Summit 2017不可不知的那些事儿
- 2021年春季学期-信号与系统-第十四次作业参考答案-第六小题参考答案
- postman测试传入json
- 电脑仙人掌机器人作文_神奇的仙人掌作文400字
- 怎么简述计算机网络的含义,计算机网络复习资料-含简答题参考答案
- Android深入理解Context(三)Context完全解析
- 欧几里得算法(即辗转相除法)的时间复杂度
- CV Papers|计算机视觉论文推荐周报20200502期
- lisp求面与面的差集_Lisp 入门
- 将现有企业级模板项目从 Visual Studio .NET 2003 迁移到 Visual Studio 2005
- nexus-3.37.3 报INSTALL4J_JAVA_HOME to point to a suitable JVM
- 微信支付商户平台可以绑定多个不同主体的小程序或微信公众号
- php uchome,Uchome1.2 1.5 代码学习 common.php
- 【爬虫学习笔记day44】5.2. (scrapy案例二)阳光热线问政平台爬虫
- 用ping ,mtr ,traceroute 进行网络丢包分析
- java 随机字母_Java基础之随机生成数字和字母
- 如何做好描述统计分析?
- c++算法新水果取名
- win10系统安装与双系统ubuntu深度学习环境配置
- 如何源码编译zeppelin