Webman + XDebug 3.0 + PHPStorm调试

euii

Webman + XDebug 3.0 + PHPStorm调试

目录

PHP的debug3.0配置文件

[xdebug]
zend_extension="/opt/homebrew/opt/xdebug@8.1/xdebug.so"
# 以下新增
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port="9003"
xdebug.remote_handler=dbgp
;xdebug.start_with_request=yes
xdebug.show_local_vars = 1

PHPStorm里的设置

Servers设置

CLI Interpreters配置,注意Debugger那里,必须要有Xdebug的信息

Debug相关设置

注意这里的Port端口与xdebug.client_port 端口号相对应

HOST文件配置

vim /etc/hosts增加条目

127.0.0.1 yoursite.test

启动

方式一:打开小电话监听,直接在命令终端中执行

  1. PHPStorm里

2. 终端里

export XDEBUG_SESSION=1
#进入项目
php start.php start #启动

ctrl+c 中止

方式二:使用phpstorm内置的按钮

1. 创建一个配置


这里把参数改成 restart,解决重复启动的问题。
截图

2. 启动

正常开发的时候按小▶️ 启动。

需要调试的时候,先打开小电话📞,然后点击虫子按钮

在浏览器里或者curl访问特定的路由

3. 停止

点击 Stop All


PS:要提醒一点,如果打开小电话监听,webman就无法热重载了。不需要debug的时候请关闭小电话,

至于出现如下的提示:

Xdebug: [Step Debug] Could not connect to debugging client. Tried: 127.0.0.1:9003 (through xdebug.client_host/xdebug.client_port) :-(

只是告诉你,php在启动的时候要去连接9003的端口,没有连接上,并不影响正常的开发。这个消息在啥时候需要关注呢?就是当你的小电话打开了,还提示这个问题,你就想思考是不是IP和端口设置的有问题了。

5975 13 27
13个评论

WatcherLuo

  • 暂无评论
ikun

截图 按照你的步骤 启动webman报错

  • euii 2022-07-22

    这不是报错,先打开右上角的📞,让phpstorm去监听9003端口,然后再运行php,这样php启动的时候就会去连接9003了。

  • euii 2022-07-22

    这只是告诉你,无法连接那个9003端口,并不影响开发。php-cli模式下,貌似在配置xdebug后无论要不要调试启动的时候都会去连接端口。

  • ikun 2022-07-25

    你这个应该是本机调试环境 , 我的是webman运行在vagrant环境 然后进行端口映射

  • euii 2022-07-27

    解决就好,👍

li914

这是在苹果系统上配置的过程,在windows上配置,需要先下载 XDebug xdebug地址下载 然后按照大佬的过程,进行配置完成即可进入调试模式下
注意,启动服务,要执行 windows.php 文件即可
截图

  • li914 2022-07-23

    谢谢大佬分享

  • Freak 2022-09-26

    点虫子提示运行 'windows.php' 时出错: 未检测到调试器扩展是怎么回事?

江月闲谈

可以了 非常感谢

  • 暂无评论
owenzhang

感谢分享,有空试试

  • 暂无评论
dignfei

Gateway 不兼容,怎么办?https://www.workerman.net/q/8979

  • 暂无评论
indesigncs

我想问问各位大佬,为什么webman基于workerman 可以使用xdebug调试,而workerman 的应用却无法使用 xdebug调试 呢?难道xdebug3也可以调试 workerman 了??

  • indesigncs 2022-09-02

    今晚加班试了一下,原来正如我说,这样做连workerman 的应用也可以调试了,好开心

  • euii 2022-09-22

    👍

爱吃鱼

Xdebug 如何调试webman里 process进程代码?有方案不?

  • 暂无评论
jacknum1

我试了下感觉有bug,会重复打开webman的服务

  • euii 2023-02-21

    把配置文件中的start改成restart,解决重复启动的问题。

Ace华

给力,成功了,6666,顶上

  • 暂无评论
寄木

up 这个是本地调试,不支持跑在 docker 的调试吗?
我用的 windows + docker 试了不行,搞了半天也没成功。

  • euii 2023-06-20

    如果是docker,你的环境在容器里,xdebug.client_host 不是 127.0.0.1应该是容器的hostname,你把容器想象为远程的服务器,只是docker支持用hostname来替代IP地址。

Basil


GatewayWorker能用吗,启动的时候没报错,连接的时候报错了

  • 暂无评论
lsmir2

在windows 里可以断点 在 mac 下不能调试 不知道是什么原因
mac sonama 14.3.1
php 8.3.3 源码编译

cd php-8.3.3
./configure --prefix=/Applications/EServer/software/php/php-8.3.3 \
--with-config-file-path=/Applications/EServer/software/php/php-8.3.3/etc/ \
--with-config-file-scan-dir=/Applications/EServer/software/php/php-8.3.3/etc/conf.d/ \
--enable-inline-optimization \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-mysqli \
--with-pdo-mysql \
--with-gettext \
--enable-mbstring \
--with-iconv=$(brew --prefix libiconv) \
--with-bz2=$(brew --prefix bzip2) \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir
make && make install

  • 暂无评论

euii

170
积分
0
获赞数
0
粉丝数
2022-07-19 加入
🔝