GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Phase 2.7.1: Rename extension to PHP Debugger with full Xdebug compat by pronskiy · Pull Request #7 · php-debugger/php-debugger

Conversation

@pronskiy

@pronskiy pronskiy commented Mar 10, 2026

Copy link
Copy Markdown
Member

Phase 2.7.1: Extension Rename

Renames the user-facing extension from "Xdebug" to "PHP Debugger" while maintaining full backward compatibility as a drop-in replacement.

Changes (8 files, +178/-37)

Extension identity:

  • Module name: php_debugger (phpinfo, extension_loaded)
  • extension_loaded("xdebug") still returns true (compat alias)
  • Version: 0.1.0-dev

INI dual-prefix:

  • xdebug.* settings unchanged (existing configs work as-is)
  • php_debugger.* aliases added

Function aliases:

  • php_debugger_break(), php_debugger_connect_to_client(), php_debugger_info(), php_debugger_is_debugger_active(), php_debugger_notify()
  • All xdebug_*() originals still work

Trigger aliases:

  • PHP_DEBUGGER_SESSION, PHP_DEBUGGER_SESSION_START/STOP, PHP_DEBUGGER_TRIGGER, PHP_DEBUGGER_CONFIG, PHP_DEBUGGER_IGNORE
  • All XDEBUG_* originals still work (preferred if both set)

Build system:

  • Output: php_debugger.so / php_debugger.dll
  • Configure: --enable-php-debugger

phpinfo:

  • Shows "PHP Debugger" with "Based on Xdebug by Derick Rethans"

Quality gate

  • ✅ extension_loaded for both names
  • ✅ Both INI prefixes work
  • ✅ Both function prefixes work
  • ✅ Build produces modules/php_debugger.so
  • ⚠️ 3 test diffs are cosmetic (DBGp init packet engine name changed)

License

Xdebug license §3-4 requires derived products not use the "Xdebug" name. This rename satisfies that requirement while keeping full backward compatibility.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
root and others added 22 commits March 10, 2026 18:07
root
Phase 2.5: Deferred activation — connect before enabling EXT_STMT
1f2933e
At RINIT, when a debug trigger is present, attempt TCP connect to the
client before enabling ZEND_COMPILE_EXTENDED_STMT. If no client is
listening (ECONNREFUSED), keep observer_active=0 and skip EXT_STMT.

This eliminates ~2.3x overhead in the triggered-no-client scenario
(e.g. XDEBUG_SESSION=1 but no IDE listening). The extension now stays
dormant, matching the untriggered performance (~10% observer floor).

Two-stage connection approach:
1. RINIT: TCP connect only (xdebug_early_connect_to_client)
2. First function call: DBGp handshake on the pre-opened socket

Also fixes RINIT trigger check to respect start_with_request=no
and XDEBUG_IGNORE, matching xdebug_debug_init_if_requested_at_startup
behavior.

Benchmark (build server, PHP 8.6.0-dev):
- Vanilla: ~0.55s
- Loaded, no trigger: ~0.56s (~0%)
- Loaded, triggered, no client (before): ~1.63s (~2.3x)
- Loaded, triggered, no client (after): ~0.55s (~0%)

Test results: 54 fail (same as Phase 2 baseline, zero regressions).
@pronskiy
Merge pull request #6 from pronskiy/phase2.5-deferred-activation
296bf59
Phase 2.5: Deferred activation — connect before enabling EXT_STMT
root
Add Windows x64 build target, fix config.w32 for stripped modules
948bc13
- Add windows-2022 job using php/[email protected]
- Strip removed modules from config.w32 (coverage, develop, gcstats, profiler, tracing)
- Add ip_info.c to debugger sources
- Bump minimum PHP version to 8.2 in config.w32
root
Fix Windows artifact upload path
8a6458e
root
Fix Windows upload: use PowerShell to find DLL path
900ba10
root
Fix Windows build: use ARG_ENABLE for config.w32, --enable-xdebug in CI
dfa2d85
root
Fix Windows build: split phpize/configure/nmake into separate steps
55dd360
root
Fix Windows build: use configure.bat explicitly (avoid MSYS2 configure)
c790d39
root
Phase 2.7.1: Rename extension to PHP Debugger with full Xdebug compat
a54d0b3
root
Phase 2.7.2: New README, remove stale Xdebug docs
25c2e6c
root
Fix CI: update .so/.dll names and configure flags for rename
0e61c75
root
Update test expectations: engine name Xdebug → PHP Debugger
c498609
root
README: clearer benchmark table comparing Xdebug vs PHP Debugger
e87a5e3
root
README: simplify benchmark table labels
d8a0ef3
root
Simplify installation: PIE, one-liner install script, remove build-fr…
02d3515
…om-source
root
README: IDE setup wording - works as-is
8f9b4d8
root
Remove Azure Pipelines and CircleCI leftovers
32a9cb4
root
Remove stale Xdebug release process files
44cd281
root
Update composer.json: rename to pronskiy/php-debugger
efc5214
root
Remove stale package.xml
ce22cdc
root
Replace bash installer with PHP script — installs for the PHP that ru…
3cbc969
…ns it
root
README: simpler curl | php one-liner
5395b6d
@pronskiy
pronskiy merged commit f4720eb into main Mar 10, 2026
2 of 9 checks passed

Uh oh!

There was an error while loading. Please reload this page.

pronskiy added a commit that referenced this pull request Mar 11, 2026
@pronskiy
Merge pull request #7 from pronskiy/phase2.7-rename
d30f14c
@pronskiy
pronskiy deleted the phase2.7-rename branch March 24, 2026 01:41
@claude claude Bot mentioned this pull request Jul 2, 2026
feat: Builds static php interpreters on release #94
Merged
@claude claude Bot mentioned this pull request Oct 4, 2026
Update to latest xdebug #121
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@pronskiy
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.