panrafal/php-error

Better error reporting for PHP, and prettier too! Fork of original PHP-Error by Joseph Lenton better suited for production environments.

dev-master 2014-02-19 21:43 UTC

This package is not auto-updated.

Last update: 2024-04-22 13:14:21 UTC


README

This is a fork of original PHP-Error by Joseph Lenton better suited for production environments.

It gives you the power of catching crtical and trivial errors in a coherent way. You can log every error in your app, and show your users a meaningfull error page. At the same time, you can configure the server to show you, the developer, full stack trace and all other PHP-Error goodness.

The fork was done before Joseph added ACE remote file editing, and it will be kept this way.

PHP errors are not good enough for development, it's as simple as that. This aims to solve this.

Better Error Message

When an error strikes, the page is replaced with a full stack trace, syntax highlighting, and all displayed to be readable.

Works with Ajax too!

If the server errors during an ajax request, then the request is paused, and the error is displayed in the browser. You can then click to automatically retry the last request.

ajax server stack trace

This requires no changes to your JavaScript, and works with existing JS libraries such as jQuery.

Check out the project homepage for a live demo.

Features

  • trivial to use, it's just one file
  • errors displayed in the browser for normal and ajaxy requests
  • ajax requests are paused, allowing you to automatically re-run them
  • makes errors as strict as possible (encourages code quality, and tends to improve performance)
  • code snippets across the whole stack trace
  • provides more information (such as full function signatures)
  • fixes some error messages which are just plain wrong
  • syntax highlighting
  • looks pretty!

Getting Started

  • Download, it's just one file.
  • Place it in your project.
  • import php_error.php
  • call \php_error\reportErrors()
    <?php
        require( 'php_error.php' );
        \php_error\reportErrors();
    ?>

Documentation

Example Setup

API

Options

php.ini settings

Do not use on a live site!

This is intended for development only. It shows more about your site, gives you more info, and makes trivial errors fatal. All of that is awesome if you want to debug quicker, and force high quality standards.

On a production server, that sucks, and is potentially unsafe.

In case you forget, you can disable this in production using the 'php_error.force_disabled' php.ini option (see below).

Advanced Features

  • customization
  • manually turn it on and off
  • run specific sections without error reporting
  • ignore files allowing you to avoid highlighting code in your stack trace
  • application files; these are prioritized when an error strikes!

Application Aware Stack Trace