THIS IS NO LOBGER MAINTAINED, Please leave me alone.
PHP errors are not good enough for development, it's as simple as that. This aims to solve this.
When an error strikes, the page is replaced with a full stack trace, syntax highlighting, and all displayed to be readable.
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.
This requires no changes to your JavaScript, and works with existing JS libraries such as jQuery.
To help make development easier, this deliberately makes your code unsafe. External requests are allowed to change your code, it shows more about your site, gives you more info, and makes trivial errors fatal. All of that is awesome if you want to fix bugs in less time, but in production, it is totally unsafe.
seriously, only use this for development!
In case you forget, you can disable this in production using the 'php_error.force_disabled' php.ini option (see below).
<?php
require( 'php_error.php' );
\php_error\reportErrors();
?>