Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Airbrake Laravel Package

dbtlr/php-airbrake

PHP Airbrake is a deprecated PHP module for sending error messages to the Airbrake API via custom error and exception handlers. It still works for existing projects, but maintenance is minimal—new projects should use the official airbrake/phpbrake package.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit — adapter required, not a drop-in. This is a framework-agnostic PHP library from the PHP 5.3 era, not a Laravel package. It ships no service provider, no facade, no config publishing, no container bindings, and no integration with Laravel's exception pipeline (Illuminate\Contracts\Debug\ExceptionHandler, Handler::report(), $dontReport, or the report() helper). Making it work in Laravel is a small but real piece of custom glue: a ServiceProvider binding a configured notifier singleton, a config file, and a hook in the exception handler. Roughly 1–2 engineer-days. Cheap in isolation, but the same effort buys a maintained notifier — so the glue is not where the value or the risk sits.

Integration feasibility — viable, but the ecosystem signal is poor. MIT license, small readable codebase, and the API surface is narrow (configure endpoint/key/environment, send an exception). 121 stars and 0 dependents on Packagist is the number that matters to a TPM: essentially no Laravel-community validation, no downstream projects acting as involuntary regression testers, and no pattern library to copy from. The 4.265 composite with an opportunity score of 2.81 and maturity limited to "readme, releases" describes a package that exists but is not being carried forward.

Technical risk — the dominant factor. The README opens with "Deprecated" and the maintainer states he hasn't used Airbrake in four years and no longer has the time, energy, or desire to maintain it. Specific exposures:

  • Abandonment. Last release 2018-06-18. Single maintainer, now effectively a PR-accepting caretaker. No CVE monitoring, no security response path, no compatibility commitments for PHP 8.2/8.3/8.4 (dynamic properties, deprecated constructs, untyped internals).
  • Dead CI. Travis CI and HHVM badges are both obsolete; there is no meaningful automated verification of the code as it stands today.
  • Protocol staleness. The library targets the Airbrake v2 notifier API. Airbrake has moved new projects onto a newer notifier protocol, and the account-level configuration determines which endpoint will actually accept reports. This is the single highest-severity unknown — an error reporter that silently 404s is worse than no error reporter, because the team believes it has coverage.
  • Error path is the hot path. The notifier makes synchronous outbound HTTPS calls from inside exception handling, with no queueing, sampling, or circuit-breaking. That's a design inherited from a slower era and it fails badly under error storms.
  • Zero vendor backing. Airbrake cannot support a third-party, deprecated notifier — and the maintainer himself redirects you to airbrake/phpbrake.

Key questions to resolve before any commitment

  1. Is Airbrake a contractual/organizational requirement, or a historical default? If the latter, the correct comparison set is Sentry (sentry/sentry-laravel), Flare, or Bugsnag — all with first-party Laravel packages — not this library versus its official successor.
  2. Which Airbrake notifier API does our project accept, and has anyone sent a live test report end-to-end this quarter?
  3. What PHP and Laravel versions are in scope, and does the package install cleanly under our Composer constraints without --ignore-platform-reqs?
  4. Is this already in production somewhere, and if so, who owns the exit?
  5. What is our actual requirement for the error path — blocking delivery, or fire-and-forget with sampling?

Integration Approach

Stack fit. Composer-installable and namespaced, so it will sit alongside a Laravel app without conflict, but it predates modern Laravel conventions and should be treated as a third-party SDK rather than a framework citizen. Expect to own the config, the environment mapping, the filtering of sensitive parameters, and the exception-to-payload translation yourself.

Migration path — this is the recommended framing. A TPM should not "leverage" this package as a foundation. The defensible uses are two:

  • Stopgap shim. Airbrake is mandated, you need reports now, and the official notifier's API differs enough to require code changes. Wrap this library behind an internal ErrorReporter interface so the swap later is a one-class change.
  • Exit vehicle. If the library is already in the codebase, treat it as named technical debt with a scheduled replacement by airbrake/phpbrake (or a strategic alternative), not as something to extend or refactor.

Compatibility work to schedule explicitly. Verify the Composer php constraint against your runtime; audit for PHP 8.x deprecations under your error reporting level (which, awkwardly, is the same channel you're instrumenting); confirm TLS/cipher support for the endpoint; and validate the v2 endpoint against a real project key in a non-production environment before writing any integration code.

Sequencing.

  1. Decide (1 week). Confirm whether Airbrake is required. If not required, stop here and evaluate first-party Laravel options — the business case for this package collapses.
  2. Validate (2–3 days). Stand up a throwaway app, send a real exception to a real Airbrake project, confirm receipt and payload quality. Do not skip; this retires the highest risk cheaply.
  3. Abstract (2 days). Define an internal reporter contract and adapter. This is the only durable artifact of the whole exercise.
  4. Integrate (2 days). Service provider, config, Handler::report() hook, $dontReport curation, parameter filtering for credentials and PII, and a Log fallback so a notifier failure never swallows the original exception.
  5. Harden. Timeouts, sampling or rate limiting, and suppression of notifier-thrown exceptions.
  6. Swap (later, ~1 week incl. soak). Replace the adapter internals with the official notifier; the interface and call sites don't move.

Operational Impact

Maintenance — community PRs only, and that is the ceiling. No SLA, no release cadence, no security advisory process, no deprecation policy. Anything we need fixed, we fix and carry as a fork or a patch, which converts a dependency into an owned asset. Budget for that explicitly, or don't take the dependency.

Support. Two-hop support problem: Airbrake support will disengage on a third-party notifier, and the maintainer has publicly exited. Every incident becomes internal debugging of unfamiliar 2018-era HTTP code during an outage — the worst possible time.

Scaling — degrades precisely when load is highest. Synchronous outbound HTTP per reported exception means an error storm (database outage, bad deploy, upstream 5xx cascade) fans out into thousands of concurrent HTTPS calls to Airbrake, each holding a PHP-FPM worker. That converts an application incident into a capacity incident. Mitigations are non-optional: aggressive connect/read timeouts (sub-second), sampling or per-window rate limiting, and, if feasible, routing delivery through a queue worker so web requests never block on the notifier.

Failure modes to design against

  • Silent data loss. Endpoint drift or credential expiry produces no error and no reports. Instrument the notifier itself — a synthetic weekly test exception that pages if it doesn't appear.
  • Recursive failure. Notifier throws inside the exception handler; guard with a re-entrancy flag and catch-all, and never let reporting replace the original exception.
  • Latency masking. Reporting latency attributed to request latency during incidents, confusing root-cause analysis.
  • PII and secret leakage. Error payloads carry request params and env context. Field-level filtering and review are required before the first production report, not after.
  • Unmaintained code on a modern runtime. PHP 8.x deprecations surfacing through the reporting path, producing noise that erodes trust in the alerting channel.

Ramp-up. The code itself is a few hundred lines — any mid-level engineer reads it in an afternoon. The real ramp-up cost is organizational: teaching the team that this is a deprecated dependency with a documented exit, so nobody builds on it, extends it, or assumes its silence means health. The TPM deliverable here is a one-page decision record naming the owner, the validation result from step 2, and the target date for the swap — not a working integration. The integration is the easy part; the risk is that nobody remembers it's temporary.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels