diff --git a/src/wp-admin/admin-header.php b/src/wp-admin/admin-header.php
index c6760f9b86..75ff053154 100644
--- a/src/wp-admin/admin-header.php
+++ b/src/wp-admin/admin-header.php
@@ -200,6 +200,11 @@ if ( $current_screen->is_block_editor() ) {
 	}
 }
 
+// Print a CSS class to make PHP errors visible.
+if ( error_get_last() && WP_DEBUG && WP_DEBUG_DISPLAY && ini_get( 'display_errors' ) ) {
+	$admin_body_class .= ' php-error';
+}
+
 ?>
 </head>
 <?php
diff --git a/src/wp-admin/css/admin-menu.css b/src/wp-admin/css/admin-menu.css
index a3d8f4f262..bcecf91a60 100644
--- a/src/wp-admin/css/admin-menu.css
+++ b/src/wp-admin/css/admin-menu.css
@@ -13,6 +13,15 @@
 	z-index: 1; /* positive z-index to avoid elastic scrolling woes in Safari */
 }
 
+.php-error #adminmenuback {
+	position: absolute;
+}
+
+.php-error #adminmenuback,
+.php-error #adminmenuwrap {
+	margin-top: 2em;
+}
+
 #adminmenu {
 	clear: left;
 	margin: 12px 0;
