Index: src/wp-includes/load.php
===================================================================
--- src/wp-includes/load.php	(revision 45273)
+++ src/wp-includes/load.php	(working copy)
@@ -136,16 +136,23 @@
 		header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 );
 		header( 'Content-Type: text/html; charset=utf-8' );
 		/* translators: 1: Current PHP version number, 2: WordPress version number, 3: Minimum required PHP version number */
-		die( sprintf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, $wp_version, $required_php_version ) );
+		printf( __( 'Your server is running PHP version %1$s but WordPress %2$s requires at least %3$s.' ), $php_version, $wp_version, $required_php_version );
+		exit( 1 );
 	}
 
 	if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! extension_loaded( 'mysqlnd' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) {
+		require_once( ABSPATH . WPINC . '/functions.php' );
 		wp_load_translations_early();
-
-		$protocol = wp_get_server_protocol();
-		header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 );
-		header( 'Content-Type: text/html; charset=utf-8' );
-		die( __( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ) );
+		$args = array(
+			'exit' => false,
+			'code' => 'mysql_not_found',
+		);
+		wp_die(
+			__( 'Your PHP installation appears to be missing the MySQL extension which is required by WordPress.' ),
+			__( 'Insufficient Requirements' ),
+			$args
+		);
+		exit( 1 );
 	}
 }
 
