首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用 OpenClaw 写了个轻量级、高性能 PHP 调试器扩展

用 OpenClaw 写了个轻量级、高性能 PHP 调试器扩展

作者头像
Tinywan
发布2026-07-01 15:17:23
发布2026-07-01 15:17:23
360
举报
文章被收录于专栏:开源技术小栈开源技术小栈

PHP Debugger

一个轻量级、高性能的 PHP 调试器扩展。从 Xdebug(作者 Derick Rethans)fork 而来,去除了除调试外的所有功能,并针对几乎零开销(未激活时)进行了深度优化。

“注意这个项目是一个实验,旨在展示 PHP 社区使用 AI 工具能有多快。 整个扩展——分支、精简、优化、重命名——都是使用 PhpStorm、Claude CodeOpenClaw 在几天内而不是几个月内完成的。我们在这里是为了快速行动、适应变化,并证明 PHP 工具可以成为行业中的最佳

为什么选择 PHP Debugger?

  • 加载但未激活时仅 +4% 开销(对比 Xdebug 的 +324%)
  • 可直接替换 Xdebug —— 现有配置、IDE 设置、工作流完全无需改动
  • 只保留调试功能 —— 没有性能分析器、没有代码覆盖率、没有追踪功能,只有调试
  • 完整支持 DBGp 协议 —— 与 PhpStorm、VS Code 以及任何支持 DBGp 的 IDE 兼容

性能对比

在 Apple Silicon + PHP 8.5.3 上运行 bench.php,扩展已加载,xdebug.mode=debug,无 IDE 连接状态:

配置

执行时间

开销

无调试器

0.139s

PHP Debugger

0.145s

+4%

Xdebug

0.589s

+324%

安装方式

手动下载安装

从 Releases 页面下载对应平台的二进制文件,放到你的 PHP 扩展目录,然后在 php.ini 中添加:

代码语言:javascript
复制
zend_extension=php_debugger.so

即将支持的快捷安装方式(建设中)

一键安装脚本:

代码语言:javascript
复制
curl -fsSL https://raw.githubusercontent.com/pronskiy/php-debugger/main/install.php | php

使用 PIE(PHP Installer for Extensions):

代码语言:javascript
复制
pie install pronskiy/php-debugger

配置说明

PHP Debugger 同时支持 php_debugger.*xdebug.* 两种前缀的配置项。 你现有的 Xdebug 配置可以直接继续使用,无需任何修改。

代码语言:javascript
复制
; 两种写法都有效:
php_debugger.mode = debug
php_debugger.client_host = 127.0.0.1
php_debugger.client_port = 9003
php_debugger.start_with_request = trigger

; Xdebug 兼容写法(也完全有效):
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.start_with_request = trigger

IDE 配置

PhpStorm

直接替换扩展后,原有调试配置无需任何改动即可使用。参考官方文档:https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html

VS Code

同样直接兼容,无需任何更改。

与 Xdebug 的兼容性对比

PHP Debugger 是 Xdebug 调试模式的直接替代品:

功能

PHP Debugger

Xdebug

extension_loaded("xdebug")

true

true

extension_loaded("php_debugger")

true

false

支持 xdebug.* 配置项

xdebug_break() 函数

支持

支持

XDEBUG_SESSION 触发器

支持

支持

步进调试(DBGp 协议)

完整支持

支持

代码覆盖率

请使用 pcov

支持

性能分析(Profiler)

已移除

支持

函数/语句追踪(Tracing)

已移除

支持

可选的新命名(与旧命名并存)

你也可以选择使用新的命名方式,它们与 Xdebug 的旧名称完全兼容并存:

  • INI 配置php_debugger.modephp_debugger.client_host
  • 函数php_debugger_break()php_debugger_info()php_debugger_connect_to_client()php_debugger_is_debugger_active()php_debugger_notify()
  • 触发器PHP_DEBUGGER_SESSIONPHP_DEBUGGER_SESSION_STARTPHP_DEBUGGER_TRIGGER

系统要求

  • PHP 8.2、8.3、8.4 或 8.5
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PHP Debugger
  • 为什么选择 PHP Debugger?
    • 性能对比
  • 安装方式
    • 手动下载安装
    • 即将支持的快捷安装方式(建设中)
  • 配置说明
  • IDE 配置
    • PhpStorm
    • VS Code
  • 与 Xdebug 的兼容性对比
    • 可选的新命名(与旧命名并存)
  • 系统要求
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档