filp

filp/whoops

PHP MIT

PHP errors for cool kids

13.2k stars
599 forks
slow
GitHub

13.2k

Stars

599

Forks

9

Open issues

5

Contributors

AI Analysis

Whoops is a PHP error handler framework that provides an elegant, interactive error page for debugging web applications. It offers a stack-based architecture for flexible error handling with support for multiple output formats (JSON, XML, SOAP) and can open referenced files directly in editors. Developers and teams building PHP applications benefit from improved debugging workflows and professional error visualization.

Documentation 8/10
Activity 7/10
Community 8/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 8/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

error-handling php-debugging developer-tools exception-handling ui-framework
Actively maintained Well documented MIT licensed Popular Beginner friendly Production ready
Deep Analysis · Based on README and public signals
2w ago

Whoops: The de-facto PHP development error page library, now over a decade old

Whoops is a PHP error handler that replaces the default cryptic error output with a rich, interactive debugging page showing stack traces, code context, variable state, and editor deep-links. It targets PHP developers working in local/development environments, though it ships multiple output formats (JSON, XML, plain text) for different contexts. It is bundled by default in Laravel 5.5+ and Mezzio, making it effectively invisible infrastructure for a large fraction of the PHP ecosystem. Its Packagist download count is the strongest adoption signal — consistently among the most-downloaded PHP packages.

Origin

Created in March 2013 by Filipe Dobreira, Whoops quickly became the standard dev-mode error handler. Laravel's adoption as a default dependency circa 2014-2015 was the primary growth catalyst. Maintenance transferred to Denis Sokolov around 2015-2016.

Growth

Growth was driven primarily by Laravel bundling Whoops as a default dependency, exposing it to an enormous install base passively. Stars accumulated steadily from 2013-2018 and have plateaued as the library reached saturation in its niche. New star growth is near zero (0 in last 7 days) because the library is already ubiquitous and mature — developers encounter it through frameworks rather than discovering it independently.

In production

Bundled by default in Laravel 5.5+ and Mezzio, giving it passive deployment across an enormous share of PHP projects. Packagist lists it as one of the highest-download PHP packages (tens of millions of monthly downloads historically). Integration guides exist for CakePHP, Slim, Zend, Yii, Phalcon, and others, indicating broad framework community engagement.

Code analysis
Architecture

Appears to use a stack-based handler chain (Whoops\Run) where multiple handlers can be pushed and executed in sequence. Likely follows a simple observer/chain-of-responsibility pattern. No required external dependencies according to README, suggesting a self-contained implementation. Handler abstraction appears clean, with multiple built-in output types and a SystemFacade escape hatch for overriding system calls.

Tests

README references a Scrutinizer code coverage badge and a GitHub Actions CI workflow. Coverage badge URL suggests automated measurement exists, but exact percentage is not stated in the README excerpt.

Maintenance

Last push was 2026-05-06, approximately 7 weeks before the evaluation date — the project is actively maintained at a low-frequency cadence appropriate for a stable, mature library. CI via GitHub Actions is present. The library appears to be in maintenance mode rather than active feature development, which is appropriate for its lifecycle stage.

Honest verdict

ADOPT IF: you are building a PHP application outside Laravel 8+ and need a zero-dependency, framework-agnostic development error page with multi-format output. AVOID IF: you are on Laravel 8+ where Ignition is already bundled and more feature-rich, or if you need production error tracking rather than development UX. MONITOR IF: you are evaluating long-term viability — the project is stable but in maintenance mode, and framework defaults have shifted away from it in some ecosystems.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

9/10

Risks
  • Laravel — historically the largest adoption vector — switched its default error handler to Ignition (Spatie), reducing Whoops' passive install base in new Laravel projects.
  • Near-zero new star activity suggests the library has reached growth saturation; community momentum is low even if the library remains functional.
  • Single primary maintainer (Denis Sokolov) with limited bus-factor mitigation documented publicly — critical security patches depend on one person's availability.
  • The library's value proposition is development-time only; accidental exposure in production environments is a security risk (sensitive variable data, file paths exposed).
  • Ecosystem fragmentation: each major PHP framework now tends to provide or prefer its own error handling solution, gradually marginalizing framework-agnostic tools like Whoops.
Prediction

Whoops will remain a reliable, low-churn maintenance project used in millions of legacy and framework-agnostic PHP codebases. It is unlikely to regain significant growth momentum but equally unlikely to be abandoned given its embedded install base.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

PHP
92.4%
CSS
4.6%
JavaScript
3%

Information

Language
PHP
License
MIT
Last updated
2mo ago
Created
162mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Recent releases

No releases published yet.

Similar repos

PHP-CS-Fixer

PHP-CS-Fixer/PHP-CS-Fixer

PHP CS Fixer is an automated tool that detects and fixes PHP coding standards...

13.5k PHP Dev Tools
PHPOffice

PHPOffice/PhpSpreadsheet

PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files...

13.9k PHP Dev Tools
vs. alternatives
Symfony VarDumper / ErrorHandler

Symfony provides its own error page via symfony/error-handler, used in Symfony-based projects. Whoops is preferred in non-Symfony stacks; both solve similar dev-UX problems but are not typically interchangeable at the framework level.

PHP built-in error display

The default PHP error output is plain text, unformatted, and loses stack context. Whoops is a direct upgrade for development use with no configuration overhead.

Sentry PHP SDK

Sentry focuses on production error tracking and aggregation, not interactive development debugging. They are complementary: Whoops for local dev, Sentry for production monitoring.

Ignition (Spatie/Laravel)

Ignition is a more feature-rich, Laravel-specific error page with AI-assisted suggestions and solution links. It replaced Whoops as Laravel's default around Laravel 8. Whoops remains relevant for non-Laravel or framework-agnostic use cases.

Kint

Kint is a PHP debug data visualizer (like var_dump replacement) rather than an error handler. Overlapping audience but different primary function; they can coexist.