WordPress/wp-admin/css
Felix Arntz 1e4088fc98 Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard.
This changeset introduces a `WP_Shutdown_Handler` class that detects fatal errors and which extension (plugin or theme) causes them. Such an error is then recorded, and an error message is displayed. Subsequently, in certain protected areas, for example the admin, the broken extension will be paused, ensuring that the website is still usable in the respective area. The major benefit is that this mechanism allows site owners to still log in to their website, to fix the problem by either disabling the extension or solving the bug and then resuming the extension.

Extensions are only paused in certain designated areas. The frontend for example stays unaffected, as it is impossible to know what pausing the extension would cause to be missing, so it might be preferrable to clearly see that the website is temporarily not accessible instead.

The fatal error recovery is especially important in scope of encouraging the switch to a maintained PHP version, as not necessarily every WordPress extension is compatible with all PHP versions. If problems occur now, non-technical site owners that do not have immediate access to the codebase are not locked out of their site and can at least temporarily solve the problem quickly.

Websites that have custom requirements in that regard can implement their own shutdown handler by adding a `shutdown-handler.php` drop-in that returns the handler instance to use, which must be based on a class that inherits `WP_Shutdown_Handler`. That handler will then be used in place of the default one.

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.

Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey.
Fixes #44458.

Built from https://develop.svn.wordpress.org/trunk@44524


git-svn-id: http://core.svn.wordpress.org/trunk@44355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-09 20:05:49 +00:00
..
colors Build Tools: Revert unrelated changes to Gruntfile.js added in [44245]. 2018-12-17 03:23:04 +00:00
about-rtl.css Help/About: WordPress 5.0 About Page. 2018-12-17 16:36:59 +00:00
about-rtl.min.css Help/About: WordPress 5.0 About Page. 2018-12-17 16:36:59 +00:00
about.css Help/About: WordPress 5.0 About Page. 2018-12-17 16:36:59 +00:00
about.min.css Help/About: WordPress 5.0 About Page. 2018-12-17 16:36:59 +00:00
admin-menu-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
admin-menu-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
admin-menu.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
admin-menu.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
code-editor-rtl.css Customize: Increase the colour contrast of the line numbers in CodeMirror. 2018-08-19 11:01:23 +00:00
code-editor-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
code-editor.css Customize: Increase the colour contrast of the line numbers in CodeMirror. 2018-08-19 11:01:23 +00:00
code-editor.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
color-picker-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
color-picker-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
color-picker.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
color-picker.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
common-rtl.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
common-rtl.min.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
common.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
common.min.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
customize-controls-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
customize-controls-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
customize-controls.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
customize-controls.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
customize-nav-menus-rtl.css Coding standards: Use numeric font weights instead of keywords. 2018-04-29 11:37:21 +00:00
customize-nav-menus-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
customize-nav-menus.css Coding standards: Use numeric font weights instead of keywords. 2018-04-29 11:37:21 +00:00
customize-nav-menus.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
customize-widgets-rtl.css Customize: Hide expansion arrows in Customizer's available widgets list. 2018-05-11 17:35:23 +00:00
customize-widgets-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
customize-widgets.css Customize: Hide expansion arrows in Customizer's available widgets list. 2018-05-11 17:35:23 +00:00
customize-widgets.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
dashboard-rtl.css Admin: Add a "Set up your homepage" link to the Welcome panel. 2019-01-09 00:12:49 +00:00
dashboard-rtl.min.css Admin: Add a "Set up your homepage" link to the Welcome panel. 2019-01-09 00:12:49 +00:00
dashboard.css Admin: Add a "Set up your homepage" link to the Welcome panel. 2019-01-09 00:12:49 +00:00
dashboard.min.css Admin: Add a "Set up your homepage" link to the Welcome panel. 2019-01-09 00:12:49 +00:00
deprecated-media-rtl.css Update autoprefixer browser support matrix 2017-07-16 01:15:46 +00:00
deprecated-media-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
deprecated-media.css Update autoprefixer browser support matrix 2017-07-16 01:15:46 +00:00
deprecated-media.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
edit-rtl.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
edit-rtl.min.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
edit.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
edit.min.css Comments: Improve the Author box in the Edit Comment screen. 2019-01-08 06:19:50 +00:00
farbtastic-rtl.css Stop using .rtl classes, instead relying on flipping LTR CSS to RTL. 2013-11-17 16:18:11 +00:00
farbtastic-rtl.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00
farbtastic.css Stop using .rtl classes, instead relying on flipping LTR CSS to RTL. 2013-11-17 16:18:11 +00:00
farbtastic.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00
forms-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
forms-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
forms.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
forms.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
ie-rtl.css Administration: CSS coding standards: use double quotes for values that require quotes. 2018-02-03 13:19:32 +00:00
ie-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
ie.css Administration: CSS coding standards: use double quotes for values that require quotes. 2018-02-03 13:19:32 +00:00
ie.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
install-rtl.css Customize: Introduce a new experience for discovering, installing, and previewing themes within the customizer. 2017-09-29 20:13:50 +00:00
install-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
install.css Customize: Introduce a new experience for discovering, installing, and previewing themes within the customizer. 2017-09-29 20:13:50 +00:00
install.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
l10n-rtl.css Use numeric font weights instead of keywords. 2016-06-17 18:37:28 +00:00
l10n-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
l10n.css Use numeric font weights instead of keywords. 2016-06-17 18:37:28 +00:00
l10n.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
list-tables-rtl.css Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard. 2019-01-09 20:05:49 +00:00
list-tables-rtl.min.css Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard. 2019-01-09 20:05:49 +00:00
list-tables.css Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard. 2019-01-09 20:05:49 +00:00
list-tables.min.css Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard. 2019-01-09 20:05:49 +00:00
login-rtl.css Privacy: Reposition log in policy link to avoid overlapping elements. 2018-05-15 16:27:24 +00:00
login-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
login.css Privacy: Reposition log in policy link to avoid overlapping elements. 2018-05-15 16:27:24 +00:00
login.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
media-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
media-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
media.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
media.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
nav-menus-rtl.css Coding standards: Use numeric font weights instead of keywords. 2018-04-29 11:37:21 +00:00
nav-menus-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
nav-menus.css Coding standards: Use numeric font weights instead of keywords. 2018-04-29 11:37:21 +00:00
nav-menus.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
revisions-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
revisions-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
revisions.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
revisions.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
site-icon-rtl.css Update autoprefixer browser support matrix 2017-07-16 01:15:46 +00:00
site-icon-rtl.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00
site-icon.css Update autoprefixer browser support matrix 2017-07-16 01:15:46 +00:00
site-icon.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00
themes-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
themes-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
themes.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
themes.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
widgets-rtl.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
widgets-rtl.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
widgets.css Once upon a midnight dreary, while I coded, weak and weary, 2018-05-23 10:05:31 +00:00
widgets.min.css Build/Test: Update dependencies for 5.0 2018-12-11 16:13:26 +00:00
wp-admin-rtl.css Introducing Site Icon, favicon management for WordPress. 2015-06-29 12:58:25 +00:00
wp-admin-rtl.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00
wp-admin.css Introducing Site Icon, favicon management for WordPress. 2015-06-29 12:58:25 +00:00
wp-admin.min.css Build/Test Tools: Add banner to minified CSS files 2017-08-19 20:10:47 +00:00