PHPackages                             asika/whoops - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. asika/whoops

AbandonedArchivedLibrary

asika/whoops
============

php error handling for cool kids, supports PHP8 before official release.

2.7.4.1(5y ago)0627MITPHPPHP ^5.5.9 || ^7.0 || ^8.0

Since Mar 15Pushed 5y ago1 watchersCompare

[ Source](https://github.com/asika32764/whoops)[ Packagist](https://packagist.org/packages/asika/whoops)[ Docs](https://filp.github.io/whoops/)[ RSS](/packages/asika-whoops/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (2)Dependencies (4)Versions (63)Used By (0)

whoops
======

[](#whoops)

PHP errors for cool kids

[![Total Downloads](https://camo.githubusercontent.com/88017ccafc0c3e2ba4f3593c5bc611c4445c0280408937ea91182e2786f23440/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f66696c702f77686f6f70732e737667)](https://packagist.org/packages/filp/whoops)[![Latest Version](https://camo.githubusercontent.com/21a28182d61ebed6ad96cf4503bfdd9c88984109134df77bf10b7e941604531b/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66696c702f77686f6f70732e737667)](https://packagist.org/packages/filp/whoops)[![Reference Status](https://camo.githubusercontent.com/59c54497cab2b354180d2da4122c2129b4187f0a6a7ac15124a7fa414e4a79a7/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7068702f66696c703a77686f6f70732f7265666572656e63655f62616467652e7376673f7374796c653d666c6174)](https://www.versioneye.com/php/filp:whoops/references)[![Dependency Status](https://camo.githubusercontent.com/8fa0e202c7417b223e3451624f3eb39459fb3d965ba3f33b33dde909fbde0611/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7068702f66696c703a77686f6f70732f312e312e352f62616467652e737667)](https://www.versioneye.com/php/filp:whoops/1.1.5)[![Build Status](https://camo.githubusercontent.com/1b1dbd211489dc3cb3cccba62cbf5fa4697b882789b713d475e9bdfe004215c8/68747470733a2f2f7472617669732d63692e6f72672f66696c702f77686f6f70732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/filp/whoops)[![Scrutinizer Quality Score](https://camo.githubusercontent.com/29f84f8daab9ad1b0b3266b0683463db6351ab8c3b328fd510bda01aade08b68/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f66696c702f77686f6f70732f6261646765732f7175616c6974792d73636f72652e706e673f733d36323235633336663261326464316664636131316563633762313062323931303563386336326264)](https://scrutinizer-ci.com/g/filp/whoops)[![Code Coverage](https://camo.githubusercontent.com/063999a71f4e2a25963b3c0390e0212cdde5f45c19b02aff1d0efb50ef48ddb7/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f66696c702f77686f6f70732f6261646765732f636f7665726167652e706e673f733d37313166656232303639313434643235326431313162323131393635666662313961376430396138)](https://scrutinizer-ci.com/g/filp/whoops)

---

[![Whoops!](https://camo.githubusercontent.com/47bab97a45fae9600d0d372f9647930e9ea665d06076085eda3a848235902878/687474703a2f2f692e696d6775722e636f6d2f305651706539362e706e67)](https://camo.githubusercontent.com/47bab97a45fae9600d0d372f9647930e9ea665d06076085eda3a848235902878/687474703a2f2f692e696d6775722e636f6d2f305651706539362e706e67)

**whoops** is an error handler framework for PHP. Out-of-the-box, it provides a pretty error interface that helps you debug your web projects, but at heart it's a simple yet powerful stacked error handling system.

Features
--------

[](#features)

- Flexible, stack-based error handling
- Stand-alone library with (currently) no required dependencies
- Simple API for dealing with exceptions, trace frames &amp; their data
- Includes a pretty rad error page for your webapp projects
- Includes the ability to [open referenced files directly in your editor and IDE](docs/Open%20Files%20In%20An%20Editor.md)
- Includes handlers for different response formats (JSON, XML, SOAP)
- Easy to extend and integrate with existing libraries
- Clean, well-structured &amp; tested code-base

Sponsors
--------

[](#sponsors)

[![Blackfire.io](https://camo.githubusercontent.com/2a73710603b06dc49d180ab3d51bcdf093ef2620f37b19a5b42202b6cc59e65c/68747470733a2f2f692e696d6775722e636f6d2f7a52387273716b2e706e67)](https://blackfire.io/docs/introduction?utm_source=whoops&utm_medium=github_readme&utm_campaign=logo)

Installing
----------

[](#installing)

If you use Laravel 4 or Laravel 5.5+, you already have Whoops. There are also community-provided instructions on how to integrate Whoops into [Silex 1](https://github.com/whoops-php/silex-1), [Silex 2](https://github.com/texthtml/whoops-silex), [Phalcon](https://github.com/whoops-php/phalcon), [Laravel 3](https://gist.github.com/hugomrdias/5169713#file-start-php), [Laravel 5](https://github.com/GrahamCampbell/Laravel-Exceptions), [CakePHP 2](https://github.com/oldskool/WhoopsCakephp/tree/cake2), [CakePHP 3](https://github.com/oldskool/WhoopsCakephp), [Zend 2](https://github.com/ghislainf/zf2-whoops), [Zend 3](https://github.com/Ppito/zf3-whoops), [Yii 1](https://github.com/igorsantos07/yii-whoops), [FuelPHP](https://github.com/indigophp/fuel-whoops), [Slim](https://github.com/zeuxisoo/php-slim-whoops/), [Pimple](https://github.com/texthtml/whoops-pimple), [Laminas](https://github.com/Ppito/laminas-whoops), or any framework consuming [StackPHP middlewares](https://github.com/thecodingmachine/whoops-stackphp)or [PSR-7 middlewares](https://github.com/franzliedke/whoops-middleware).

If you are not using any of these frameworks, here's a very simple way to install:

1. Use [Composer](http://getcomposer.org) to install Whoops into your project:

    ```
    composer require filp/whoops
    ```
2. Register the pretty handler in your code:

    ```
    $whoops = new \Whoops\Run;
    $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
    $whoops->register();
    ```

For more options, have a look at the **example files** in `examples/` to get a feel for how things work. Also take a look at the [API Documentation](docs/API%20Documentation.md) and the list of available handlers below.

You may also want to override some system calls Whoops does. To do that, extend `Whoops\Util\SystemFacade`, override functions that you want and pass it as the argument to the `Run` constructor.

### Available Handlers

[](#available-handlers)

**whoops** currently ships with the following built-in handlers, available in the `Whoops\Handler` namespace:

- [`PrettyPageHandler`](https://github.com/filp/whoops/blob/master/src/Whoops/Handler/PrettyPageHandler.php) - Shows a pretty error page when something goes pants-up
- [`PlainTextHandler`](https://github.com/filp/whoops/blob/master/src/Whoops/Handler/PlainTextHandler.php) - Outputs plain text message for use in CLI applications
- [`CallbackHandler`](https://github.com/filp/whoops/blob/master/src/Whoops/Handler/CallbackHandler.php) - Wraps a closure or other callable as a handler. You do not need to use this handler explicitly, **whoops** will automatically wrap any closure or callable you pass to `Whoops\Run::pushHandler`
- [`JsonResponseHandler`](https://github.com/filp/whoops/blob/master/src/Whoops/Handler/JsonResponseHandler.php) - Captures exceptions and returns information on them as a JSON string. Can be used to, for example, play nice with AJAX requests.
- [`XmlResponseHandler`](https://github.com/filp/whoops/blob/master/src/Whoops/Handler/XmlResponseHandler.php) - Captures exceptions and returns information on them as a XML string. Can be used to, for example, play nice with AJAX requests.

You can also use pluggable handlers, such as [SOAP handler](https://github.com/whoops-php/soap).

Authors
-------

[](#authors)

This library was primarily developed by [Filipe Dobreira](https://github.com/filp), and is currently maintained by [Denis Sokolov](https://github.com/denis-sokolov). A lot of awesome fixes and enhancements were also sent in by [various contributors](https://github.com/filp/whoops/contributors). Special thanks to [Graham Campbell](https://github.com/GrahamCampbell) and [Markus Staab](https://github.com/staabm) for continuous participation.

This software includes [Prettify](https://github.com/google/code-prettify), licensed under Apache License 2.0. It is bundled only as a performance optimization.

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~47 days

Recently: every ~71 days

Total

60

Last Release

2039d ago

Major Versions

0.9.0 → 1.0.02013-04-09

1.1.9 → 2.0.0-alpha12015-12-12

PHP version history (6 changes)0.8.4PHP &gt;=5.3.0

1.1.8PHP &gt;=5.3.0 &lt;6

2.0.0-alpha1PHP &gt;=5.3.3

2.0.0-alpha2PHP &gt;=5.5.9

2.1.4PHP ^5.5.9 || ^7.0

2.7.4.1PHP ^5.5.9 || ^7.0 || ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1639206?v=4)[Simon Asika](/maintainers/asika32764)[@asika32764](https://github.com/asika32764)

---

Top Contributors

[![denis-sokolov](https://avatars.githubusercontent.com/u/113721?v=4)](https://github.com/denis-sokolov "denis-sokolov (403 commits)")[![filp](https://avatars.githubusercontent.com/u/382538?v=4)](https://github.com/filp "filp (307 commits)")[![staabm](https://avatars.githubusercontent.com/u/120441?v=4)](https://github.com/staabm "staabm (59 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (56 commits)")[![jonasdt](https://avatars.githubusercontent.com/u/1201842?v=4)](https://github.com/jonasdt "jonasdt (25 commits)")[![prisis](https://avatars.githubusercontent.com/u/2716058?v=4)](https://github.com/prisis "prisis (10 commits)")[![zonuexe](https://avatars.githubusercontent.com/u/822086?v=4)](https://github.com/zonuexe "zonuexe (10 commits)")[![SBLAdam](https://avatars.githubusercontent.com/u/81582882?v=4)](https://github.com/SBLAdam "SBLAdam (8 commits)")[![franzliedke](https://avatars.githubusercontent.com/u/249125?v=4)](https://github.com/franzliedke "franzliedke (7 commits)")[![acidjazz](https://avatars.githubusercontent.com/u/967369?v=4)](https://github.com/acidjazz "acidjazz (7 commits)")[![Geolim4](https://avatars.githubusercontent.com/u/1332071?v=4)](https://github.com/Geolim4 "Geolim4 (7 commits)")[![vinkla](https://avatars.githubusercontent.com/u/499192?v=4)](https://github.com/vinkla "vinkla (6 commits)")[![bobdenotter](https://avatars.githubusercontent.com/u/1833361?v=4)](https://github.com/bobdenotter "bobdenotter (5 commits)")[![cs278](https://avatars.githubusercontent.com/u/17377?v=4)](https://github.com/cs278 "cs278 (5 commits)")[![hugomrdias](https://avatars.githubusercontent.com/u/314190?v=4)](https://github.com/hugomrdias "hugomrdias (4 commits)")[![hannesvdvreken](https://avatars.githubusercontent.com/u/1410358?v=4)](https://github.com/hannesvdvreken "hannesvdvreken (4 commits)")[![tflori](https://avatars.githubusercontent.com/u/4855611?v=4)](https://github.com/tflori "tflori (4 commits)")[![funkjedi](https://avatars.githubusercontent.com/u/9314?v=4)](https://github.com/funkjedi "funkjedi (3 commits)")[![luismulinari](https://avatars.githubusercontent.com/u/33168?v=4)](https://github.com/luismulinari "luismulinari (3 commits)")[![DanielFatkic](https://avatars.githubusercontent.com/u/135755?v=4)](https://github.com/DanielFatkic "DanielFatkic (3 commits)")

---

Tags

libraryexceptionerrorhandlingwhoopsthrowable

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/asika-whoops/health.svg)

```
[![Health](https://phpackages.com/badges/asika-whoops/health.svg)](https://phpackages.com/packages/asika-whoops)
```

###  Alternatives

[filp/whoops

php error handling for cool kids

13.2k402.4M1.4k](/packages/filp-whoops)[graham-campbell/exceptions

Provides A Powerful Error Response System For Both Development And Production

5911.3M4](/packages/graham-campbell-exceptions)[zeuxisoo/slim-whoops

PHP whoops error on slim framework

1371.1M27](/packages/zeuxisoo-slim-whoops)[ikkez/f3-falsum

Pretty error handling for Fat-Free Framework

21145.8k3](/packages/ikkez-f3-falsum)[topshelfcraft/canary

The kinder, cuter, cleverer Craft error handler.

114.4k](/packages/topshelfcraft-canary)[kamranahmedse/laravel-faulty

A minimal package to assist in returning RESTful exceptions in your APIs.

6318.4k](/packages/kamranahmedse-laravel-faulty)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
