What is Buggregator?
Buggregator is a free, open-source debugging server for PHP applications. One docker run command — and you get exceptions, logs, dumps, profiling, emails, and HTTP requests in a single UI. No registration, no limits, no cost.
Watch introduction video on YouTube
Project repository: https://github.com/buggregator/server
When you need it
- You have a long-running PHP app (RoadRunner, Swoole, FrankenPHP, queue workers) and
dd()is not an option. - You want to see exceptions with stack traces like in Sentry, but don’t want to set up Sentry for local dev.
- You need to profile performance and find memory leaks or slow functions.
- You want to test emails your app sends without a real mail server.
- You want to capture SMS messages without sending real ones through Twilio or Vonage.
- You have multiple services (microservices, Docker Compose) and want all debug data in one place.
- You want to inspect HTTP requests your app makes to external APIs.
- You just need a better
dump()— with syntax highlighting, IDE links, and no browser pollution.
How it works
Buggregator runs as a standalone server (typically in Docker alongside your app). Your application sends data to it using standard integrations you probably already use — Sentry SDK, Symfony VarDumper, Monolog, Spatie Ray, Inspector, or plain SMTP. Buggregator collects everything and shows it in a real-time web UI.
docker run -p 8000:8000 -p 1025:1025 -p 9912:9912 -p 9913:9913 -p 9914:9914 ghcr.io/buggregator/server:latestOpen http://127.0.0.1:8000 and start debugging. That’s it.
For local debugging without Docker, use Buggregator Trap — a lightweight CLI alternative with zero configuration.
Key Features
XHProf Profiler — Performance
Find slow functions and memory leaks. Buggregator visualizes profiling data as a Call Graph, Flame Graph, and Top Functions table. Compare two runs side-by-side to verify your optimizations actually helped.
Sentry Compatibility — Exceptions
Replace Sentry for local development. See exceptions with full stack traces, breadcrumbs, request details, device/browser info, tags, and context. All Sentry SDKs are supported — PHP, JavaScript, Python, and more.
Fake SMTP Server — Emails
Capture all outgoing emails. Preview HTML (with mobile/desktop viewport switcher), plain text, all addresses, attachments, and raw source. Just point your app’s SMTP config to port 1025.
SMS Gateway — SMS Messages
Capture SMS messages your app sends through Twilio, Vonage, Plivo, and 40+ other providers. Point your SMS webhook URL at Buggregator and see every message with sender, recipient, text, and detected provider. Use explicit provider URLs (/sms/twilio) for field validation — missing fields are highlighted in the UI while your app gets a proper error response.
HTTP Dumps — Requests
Capture and inspect HTTP requests: method, URI, headers, cookies, POST data, uploaded files. Get a ready-to-use cURL command for any captured request.
Monolog Server — Logs
Collect application logs in real time. See log level, channel, message, context, extra fields, and source location. Supports all PSR-3 levels.
Symfony VarDumper — Variable Dumps
Redirect dump() output to Buggregator instead of your browser. See variables with full type info, source location, and syntax highlighting. Click on file paths to open them in your IDE.
Spatie Ray — Debug Tool
A free alternative to the Ray app. Supports 18 payload types: logs, exceptions, SQL queries, Eloquent models, Laravel jobs, mail previews, performance measurements, and more. Works with PHP, JavaScript, Ruby, Go, and Bash.
Inspector Compatibility — Transactions
Monitor application performance. View transaction duration, memory usage, HTTP request details, and timeline breakdown to identify bottlenecks.
JetBrains IDE Plugin
Don’t want to leave your IDE? The Buggregator plugin for JetBrains IDEs brings dumps, logs, and debug data directly into PhpStorm, IntelliJ IDEA, WebStorm, and other JetBrains products. No need to switch windows — everything is in a panel next to your code, with all IDE shortcuts working.
The plugin launches Buggregator Trap from your project and provides two views:
- Web UI — the full Buggregator interface embedded in the IDE’s built-in browser.
- Terminal — text-based output for quick inspection.
Install from Settings > Plugins > Marketplace > search "Buggregator", or visit the plugin page.
Read more in the plugin documentation.
Also included
- Event pinning — pin important events so they don’t get lost.
- Event screenshots — export any event as an image to share with your team.
- Keyboard shortcuts — press
?to see all shortcuts. Navigate withj/k, switch modules with1-8. - IDE integration — click file paths to open them in VS Code, PhpStorm, or 14 other IDEs. Custom path mappings for Docker.
- Dark / Light themes — follows your system preference or set manually.
- Multi-project support — separate events by project or team.
- Webhooks — trigger external actions when events are received.
- Prometheus metrics — monitor event counts with Grafana.
- SSO authentication — Auth0 and Kinde support.
- External database — PostgreSQL or MySQL for persistent storage.
Tech stack
- Spiral Framework + RoadRunner (HTTP, WebSocket, TCP, Queue)
- Vue 3 + TypeScript + Vite
- TailwindCSS + Pinia
- Centrifugo (real-time WebSocket messaging)
Contributing
Buggregator is open-source. Contributions are welcome — bugs, features, docs.