[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
CLI Interpreters配置,注意Debugger那里,必须要有Xdebug的信息
注意这里的Port端口与xdebug.client_port
端口号相对应
vim /etc/hosts
增加条目
127.0.0.1 yoursite.test
2. 终端里
export XDEBUG_SESSION=1
#进入项目
php start.php start #启动
ctrl+c
中止
这里把参数改成 restart,解决重复启动的问题。
正常开发的时候按小▶️ 启动。
需要调试的时候,先打开小电话📞,然后点击虫子按钮
在浏览器里或者curl访问特定的路由
点击 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和端口设置的有问题了。
赞
按照你的步骤 启动webman报错
这不是报错,先打开右上角的📞,让phpstorm去监听9003端口,然后再运行php,这样php启动的时候就会去连接9003了。
这只是告诉你,无法连接那个9003端口,并不影响开发。php-cli模式下,貌似在配置xdebug后无论要不要调试启动的时候都会去连接端口。
你这个应该是本机调试环境 , 我的是webman运行在vagrant环境 然后进行端口映射
解决就好,👍
这是在苹果系统上配置的过程,在windows上配置,需要先下载 XDebug xdebug地址下载 然后按照大佬的过程,进行配置完成即可进入调试模式下
注意,启动服务,要执行 windows.php 文件即可
谢谢大佬分享
点虫子提示运行 'windows.php' 时出错: 未检测到调试器扩展是怎么回事?
可以了 非常感谢
感谢分享,有空试试
Gateway 不兼容,怎么办?https://www.workerman.net/q/8979
我想问问各位大佬,为什么webman基于workerman 可以使用xdebug调试,而workerman 的应用却无法使用 xdebug调试 呢?难道xdebug3也可以调试 workerman 了??
今晚加班试了一下,原来正如我说,这样做连workerman 的应用也可以调试了,好开心
👍
Xdebug 如何调试webman里 process进程代码?有方案不?
我试了下感觉有bug,会重复打开webman的服务
把配置文件中的start改成restart,解决重复启动的问题。
给力,成功了,6666,顶上
up 这个是本地调试,不支持跑在 docker 的调试吗?
我用的 windows + docker 试了不行,搞了半天也没成功。
如果是docker,你的环境在容器里,xdebug.client_host 不是 127.0.0.1应该是容器的hostname,你把容器想象为远程的服务器,只是docker支持用hostname来替代IP地址。
GatewayWorker能用吗,启动的时候没报错,连接的时候报错了
经过多次测试,在mac下 在控制器是断点是断不下来的 把执行逻辑扔到其他类上就可以了 原因未知
可以用,谢谢
1
wsl2 + docker 可以吗?
windows 环境就可以了 何必那么麻烦呢
因为我习惯这种开发方式了
我在 deepin 和 windows 环境都断点调试正常,只有mac 比较麻烦.docker 没试过 走远程调试的路子.可以试试
windows+phpstorm+xdebug 也没成功,下面是ini配置
extension = swoole.so
xdebug.mode=debug
xdebug.client_host=host.docker.internal
xdebug.discover_client_host=true
xdebug.start_with_request=yes
xdebug.client_port=9111
xdebug.remote_handler=dbgp
xdebug.idekey=xdebug
你们这搞得太复杂了,实际上只要配置下php.ini和phpstorm里面的port,以及指定一下cli Interpreter 就行了。
server那个配置是不需要的。
图没了