From 1ce18f6e95e62c910319108ed4ffdce37bfea17f Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Wed, 23 Sep 2015 21:56:32 +0000 Subject: [PATCH] Send a 500 HTTP response code when the server's PHP or MySQL checks fail. Fixes #33689 Props jeichorn git-svn-id: https://develop.svn.wordpress.org/trunk@34462 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/load.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/wp-includes/load.php b/src/wp-includes/load.php index 0b34456ab0..560511a953 100644 --- a/src/wp-includes/load.php +++ b/src/wp-includes/load.php @@ -111,13 +111,25 @@ function wp_check_php_mysql_versions() { if ( version_compare( $required_php_version, $php_version, '>' ) ) { wp_load_translations_early(); + + $protocol = $_SERVER['SERVER_PROTOCOL']; + if ( 'HTTP/1.1' !== $protocol && 'HTTP/1.0' !== $protocol ) { + $protocol = 'HTTP/1.0'; + } + header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 ); header( 'Content-Type: text/html; charset=utf-8' ); 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 ) ); } if ( ! extension_loaded( 'mysql' ) && ! extension_loaded( 'mysqli' ) && ! file_exists( WP_CONTENT_DIR . '/db.php' ) ) { wp_load_translations_early(); - header( 'Content-Type: text/html; charset=utf-8' ); + + $protocol = $_SERVER['SERVER_PROTOCOL']; + if ( 'HTTP/1.1' !== $protocol && 'HTTP/1.0' !== $protocol ) { + $protocol = 'HTTP/1.0'; + } + 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.' ) ); } }