Go to file
Felix Arntz 2caa621b0d Bootstrap/Load: Change shutdown handler naming to final fatal error handler and allow disabling the handler entirely via a constant.
The `WP_Shutdown_Handler` name plus related function names were premature when originally committed, as there can be multiple shutdown handlers in PHP, and WordPress makes use of that feature. This changeset modifies the name to a more appropriate `WP_Fatal_Error_Handler`, and related to that changes the following names:

* The drop-in to override the handler is now called `fatal-error-handler.php`.
* The internal function `wp_register_premature_shutdown_handler` is now called `wp_register_fatal_error_handler()`.

In addition to these naming changes, a new constant `WP_DISABLE_FATAL_ERROR_HANDLER` is introduced that can be set in `wp-config.php` to entirely disable the fatal error handler. That constant's value is and should be accessed indirectly via a new `wp_is_fatal_error_handler_enabled()` function and is filterable via a new `wp_fatal_error_handler_enabled` hook. Note that disabling the fatal error handler will skip the new functionality entirely, including the potentially used `fatal-error-handler.php` drop-in.

The new set of constant, filter and function provide for an easier-to-use mechanism to disable the fatal error handler altogether, rather than requiring developers to implement a drop-in for purely that purpose.

Props afragen, flixos90, joyously, knutsp, markjaquith, ocean90, schlessera, spacedmonkey.
Fixes #46047. See #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44674 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-21 20:14:56 +00:00
src Bootstrap/Load: Change shutdown handler naming to final fatal error handler and allow disabling the handler entirely via a constant. 2019-01-21 20:14:56 +00:00
tests PHPCS: Fix formatting issues introduced in [44670]. 2019-01-21 19:56:47 +00:00
tools Build tools: Allow building WordPress to src. 2018-12-24 13:28:22 +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 Build Tools: Switch to Node 10.13.0. 2018-12-16 01:42:24 +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 TinyMCE: retire wp-tinymce.php and remove pre-compression of wp-tinymce.js. 2019-01-18 19:50:19 +00:00
jsdoc.conf.json Build Tools: Fix JSDoc configuration include paths. 2018-06-14 12:45:06 +00:00
package-lock.json TinyMCE: retire wp-tinymce.php and remove pre-compression of wp-tinymce.js. 2019-01-18 19:50:19 +00:00
package.json TinyMCE: retire wp-tinymce.php and remove pre-compression of wp-tinymce.js. 2019-01-18 19:50:19 +00:00
phpcs.xml.dist Coding Standards: Upgrade WPCS to 1.2.1. 2019-01-12 06:40:16 +00:00
phpunit.xml.dist REST API: Introduce Autosaves controller and endpoint. 2018-12-13 22:41:47 +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