Skip to main content

Introduction

PHP Debugger is a step debugger for PHP, and nothing else. Every other feature that normally ships alongside one — the profiler, the coverage collector, the tracer — has been left out. What remains is a debugger you can leave switched on permanently, because when you are not using it you can barely tell it is there.

Near-zero overhead when idle

With no debug client connected, the debugger stays out of the way. A typical web request does around 1% more work than running with no debugger at all.

Cheap while you are attached

Keep your IDE connected all day. A session you are attached to but not actively stepping through still costs very little.

Drop-in compatible

Existing INI settings, IDE configurations, and helper functions keep working. In most projects there is almost nothing to migrate — just the line that loads the extension.

Works with your editor

Full DBGp protocol support means any IDE or tool that speaks it just works — PhpStorm, VS Code, Neovim, and anything else in your setup.

Everything you expect

Breakpoints and conditional breakpoints. Step over, into, and out. Inspect variables, objects, and arrays, and watch expressions change as you go.

One job, done well

No profiler, no code coverage, no tracing. Step debugging is the only thing here, which is exactly why the rest of the time it costs you so little.

Nothing to install

Use it as a regular extension, or reach for a container image with the debugger compiled straight into the interpreter. Change one line of your Dockerfile and you are done.

Ready the moment you are

However you install it, debugging is on by default and starts with every request. Set a breakpoint, hit your app, and the session is already there — no trigger to remember.

What's Next?

Ready to get started? Install PHP Debugger and try the quick start guide:

{•}

Need help?

Join our community on GitHub Discussions.

Go to Discussions →