Go to file
Felix Arntz b06444e859 Bootstrap/Load: Introduce fatal error handler.
This changeset introduces a `WP_Fatal_Error_Handler` class that detects fatal errors and displays a more user-friendly message about the site experiencing technical difficulties.

Websites that have custom requirements in that regard can implement their own fatal error handler by adding a `fatal-error-handler.php` drop-in that returns the handler instance to use, which must be based on a class that inherits `WP_Fatal_Error_Handler`. That handler will then be used in place of the default one. Alternatively, the fatal error handler feature can be completely disable through a constant `WP_DISABLE_FATAL_ERROR_HANDLER`.

Websites that would like to modify specifically the error template displayed in the frontend can add a `php-error.php` drop-in that works similarly to the existing `db-error.php` drop-in. For more granular customization, the fatal error handler also includes new filters `wp_should_handle_php_error`, `wp_php_error_message` and `wp_php_error_args`.

Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey, timothyblynjacobs.
See #46130, #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44962 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-21 16:02:05 +00:00
src Bootstrap/Load: Introduce fatal error handler. 2019-03-21 16:02:05 +00:00
tests Posts, Post Types: Add type parameter to post_exists(). 2019-03-21 12:43:48 +00:00
tools Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
.editorconfig General: Instruct file editors not to trim trailing whitespace in markdown files. 2018-03-20 22:14:53 +00:00
.gitignore Build/Test Tools: Update .gitignore to exclude twentynineteen and twentysixteen. 2019-01-09 13:44:30 +00:00
.jshintrc Build tools: Fix the travis:js build. 2018-12-24 13:53:11 +00:00
.npmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.nvmrc Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:04:22 +00:00
.travis.yml PHP: End official support for PHP5.2 -> 5.5 2019-03-20 22:03:07 +00:00
appveyor.yml Build Tools: Don't send AppVeyor notifications on Slack on repeated successful builds. 2019-01-15 05:48:46 +00:00
composer.json Build Tools: Upgrade WPCS to 2.0.0. 2019-01-18 02:14:24 +00:00
composer.lock Build Tools: Upgrade WPCS to 2.0.0. 2019-01-18 02:14:24 +00:00
Gruntfile.js Build: Remove source map from jquery.form.min.js. 2019-02-14 00:06:39 +00:00
jsdoc.conf.json Build Tools: Fix JSDoc configuration include paths. 2018-06-14 12:45:06 +00:00
package-lock.json Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
package.json Block Editor: Update the WordPress Packages from Gutenberg 5.3 2019-03-21 12:46:11 +00:00
phpcs.xml.dist Coding Standards: exclude sodium_compat library. 2019-03-21 05:55:05 +00:00
phpunit.xml.dist Coding Standards: Replace spaced indentation sections of phpunit.xml.dist, multisite.xml, and build.xml with tabs. 2019-01-28 17:20:06 +00:00
webpack.config.js Build tools: Allow building WordPress to src. 2018-12-24 13:28:22 +00:00
wp-cli.yml Build/Tests: Default to running unit tests from src. 2019-01-09 10:09:02 +00:00
wp-config-sample.php General: Replace "Happy blogging" with "Happy publishing". 2019-01-08 04:29:06 +00:00
wp-tests-config-sample.php Tests: Revert [44509]. 2019-01-09 11:13:03 +00:00