0

0

Xdebug怎么调试Workerman_Cli模式下远程调试设置【指南】

星夢妙者

星夢妙者

发布时间:2026-03-17 19:55:42

|

253人浏览过

|

来源于php中文网

原创

Workerman CLI 下 Xdebug 不触发需确认三点:一是 CLI 独立于 Web SAPI,须配置 CLI 专属 php.ini 并启用 xdebug.mode=debug;二是远程调试需确保 xdebug.client_host 可达且端口通,必要时用 frp 反向代理;三是 PHPStorm 路径映射必须严格匹配 FILE 输出的绝对路径。

xdebug怎么调试workerman_cli模式下远程调试设置【指南】

Workerman CLI 模式下 Xdebug 不触发?先确认启动方式和环境隔离

Workerman 的 bin/start.php(或你自定义的 CLI 入口)是通过 PHP 命令直接运行的,它**不走 Web SAPI(如 fpm/apache)**,因此 Xdebug 配置必须适配 CLI 环境 —— 这意味着:Web 端调试成功的 xdebug.start_with_request = trigger 或浏览器插件完全无效;php-fpm 的 php.ini 也管不到 CLI。

实操建议:

  • php -i | grep "Loaded Configuration File" 查 CLI 实际加载的 php.ini 路径,别改错文件
  • CLI 下必须显式启用调试会话,Xdebug 3 推荐用环境变量:XDEBUG_CONFIG="idekey=PHPSTORM" + export XDEBUG_SESSION=1(值需与 IDE key 一致)
  • Workerman 启动时若加了 -d 参数(如 php -d display_errors=1 start.php start -d),它会覆盖 php.ini 中的扩展加载,确保 -d zend_extension=... 显式传入(或改用 php -c /path/to/cli.ini 指定配置)

远程 CLI 调试连不上?重点检查 client_host 和端口穿透链路

Workerman 运行在远程服务器(比如 192.168.2.222),你的 PHPStorm 在本地(192.168.2.100),Xdebug 默认尝试反向连接 xdebug.client_host —— 但这个 IP 必须能被远程服务器直连。如果本地是 NAT 网络、公司防火墙限制、或使用了 frp 中转,直接填 127.0.0.1 或本地局域网 IP 就会失败。

实操建议:

  • 远程服务器上运行 telnet 192.168.2.100 9001(端口需与 xdebug.client_port 一致),不通就说明网络层阻断
  • 若本地无公网 IP,必须用 frp 反向代理:frpc 配置中 local_port = 9001 对应 PHPStorm 监听端口,remote_port = 9001 是 frps 开放给远程服务器连接的端口;远程服务器的 xdebug.client_host 改为 frps 的公网 IP(如 124.221.77.32
  • 别漏掉防火墙:远程服务器要允许出站到 frps IP:port;frps 服务器要开放 remote_port 入站;本地 frpc 所在机器防火墙要放行本地 9001

PHPStorm 配置 CLI Debug 时映射失败?路径同步必须严格一对一

Workerman CLI 脚本常含相对路径加载、动态 require、或基于 __DIR__ 定位文件,一旦 PHPStorm 里「本地路径 ↔ 远程路径」映射有偏差(比如少一个 /var/www/,或多一个 src/),断点就永远打不进真实执行的文件里 —— 表现为:控制台输出正常,IDE 却不中断,甚至提示 “No debug session”。

Post AI
Post AI

博客文章AI生成器

下载

实操建议:

  • 在 CLI 脚本开头加一行 var_dump(__FILE__); die;,运行后看输出的绝对路径,这就是远程真实路径,务必一字不差填入 PHPStorm 的 «Remote path»
  • PHPStorm 的 «Local path» 必须是你当前打开项目的根目录(不是子目录),且不能带尾部斜杠
  • Workerman 使用多进程时(如 Worker::setDaemon(true)),Xdebug 只能在主进程生效;调试前先关掉 daemon 模式(删掉 -d 或设 setDaemon(false)),否则子进程无法连接 IDE

Xdebug 3 模式配置写错?xdebug.modexdebug.start_with_request 是关键分水岭

Xdebug 2 的 xdebug.remote_enable 在 Xdebug 3 中已废弃,强行保留会导致 php -v 报错或静默失效;而 Workerman CLI 场景下,xdebug.start_with_request = yes 会强制每次 CLI 执行都尝试连接,但若 IDE 未监听,就会卡住几秒甚至超时失败 —— 这和 Web 请求可异步重试完全不同。

实操建议:

  • CLI 调试推荐用 xdebug.start_with_request = trigger + 环境变量组合,更可控:
    XDEBUG_SESSION=PHPSTORM php start.php start
  • 必须设置 xdebug.mode=debug(不是 develop 或空值),否则即使连接成功也不会进入调试流程
  • xdebug.client_host 别用 localhost:它在远程服务器上解析为 127.0.0.1,不是你的开发机;填具体 IP 或 DNS 名(确保远程服务器能解析)
远程调试 Workerman CLI 的核心复杂点不在 Xdebug 安装,而在于三层解耦:CLI 运行环境独立于 Web、网络路径受 NAT/代理制约、IDE 文件映射依赖绝对路径精度。任何一个环节的“看起来差不多”,都会导致断点静默失效。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
phpstorm怎么导出项目
phpstorm怎么导出项目

phpstorm提供导出项目功能,步骤如下:打开phpstorm项目转到“项目”菜单选择“导出项目”选择导出格式指定导出位置选择导出范围勾选“包括依赖项”框(可选)单击“导出”完成导出。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

389

2024.04.08

phpStorm怎么运行
phpStorm怎么运行

本专题整合了phpstorm运行教程,阅读专题下面的文章了解更多相关内容。

89

2025.09.18

phpstorm开发环境搭建教程
phpstorm开发环境搭建教程

本专题整合了phpstorm开发环境搭建和运行项目教程,阅读专题下面的文章了解更多详细教程。

78

2025.09.18

phpstorm怎样运行php
phpstorm怎样运行php

本专题整合了phpstorm运行php相关教程,阅读专题下面的文章了解更多详细内容。

62

2025.09.18

phpstorm相关教程大全
phpstorm相关教程大全

本专题整合了phpstorm相关教程汇总,阅读专题下面的文章了解更多详细内容。

24

2026.01.15

require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

510

2023.11.27

session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

337

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

776

2023.10.18

抖漫入口地址合集
抖漫入口地址合集

本专题整合了抖漫入口地址相关合集,阅读专题下面的文章了解更多详细地址。

17

2026.03.17

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号