onceit/raygun-bundle
A Symfony bundle that integrates Raygun error tracking into your application. It captures exceptions and sends detailed reports to Raygun, with configurable settings to help you monitor and debug production issues quickly.
Architecture fit: none for Laravel. Despite cataloguing as a Laravel/PHP package, this is a Symfony2 bundle — a Bundle subclass with DependencyInjection/*Extension, Resources/config/services.yml, and a kernel.exception listener. Laravel has no bundle system; it uses service providers, a single Illuminate\Foundation\Exceptions\Handler, and container bindings. The bundle's symfony/framework-bundle ~2.x constraint hard-conflicts with the Symfony components Laravel ships (^6/^7). It cannot be installed into a modern Laravel app without a fork-and-rewrite.
Integration feasibility: low as published, high as a pattern. The only transferable asset is the idea: wire the framework-agnostic raygun4php SDK into the exception pipeline. That is roughly a 100-line adapter — one service provider, one singleton binding, one report() call, one Monolog channel. Reverse-engineering that from an abandoned Symfony2 bundle costs more than writing it fresh.
Technical risk: high.
Key questions for the TPM to resolve before any engineering spend:
sentry/sentry-laravel), Bugsnag, Rollbar, Flare — all maintained and Laravel-native.Stack fit. Do not adopt the bundle. Treat it as prior art. The viable path is a thin first-party adapter over raygun4php, or a maintained third-party package.
Recommended migration path.
raygun4php as a singleton in a service provider, inject it into App\Exceptions\Handler::report() or a dedicated reporting listener, and add a Monolog handler for non-exception errors.ErrorReporter interface so Raygun is swappable for Sentry/Bugsnag without touching call sites. This is the highest-value design decision given vendor uncertainty.Compatibility notes.
raygun4php's Guzzle constraint against the app's existing Guzzle version.render/report overrides); verify against the target version.Sequencing. Vendor decision → adapter POC in staging (1–2 days) → sampling/quota configuration → production canary → 30-day cost and signal-quality review → decide whether to keep the in-house adapter or migrate to an official package.
Maintenance. The bundle is a permanent liability: zero upstream means any fork becomes your code to own, patch, and re-audit indefinitely — for functionality that is a day's work. The adapter approach caps that liability at a small, well-understood surface. Either way, budget the ownership explicitly; "no one owns it" is how these integrations rot.
Support. None. No maintainer, no issue triage, no security advisories. An abandoned package handling exception payloads — which routinely contain PII, session identifiers, and internal hostnames — is a compliance conversation you will eventually have to have. Log-scrubbing and a data-handling review are mandatory regardless of vendor.
Scaling and failure modes.
Ramp-up. Writing the adapter is low-effort for any mid-level PHP engineer familiar with Laravel's container and exception handler — about a day, plus a day of testing. Ramp-up on the abandoned Symfony2 bundle is effectively total: a new engineer must learn a dead framework's bundle conventions to maintain code nobody else uses. That asymmetry alone justifies skipping it.
TPM recommendation. Reject onceit/raygun-bundle on framework incompatibility and abandonment. If Raygun is the chosen vendor, fund a small in-house adapter over raygun4php behind an ErrorReporter interface; run it as a two-week spike with a 30-day signal-quality review. If the vendor is not yet decided, evaluate Sentry or Bugsnag first — both are Laravel-native and maintained, and either removes this integration problem entirely.
How can I help you explore Laravel packages today?