From a582a30bf4248e8d644db2d059d831e099cc5138 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Fri, 17 May 2019 12:38:53 +0000 Subject: [PATCH] Build/Test Tools: Use a non-zero exit code in `wp_check_php_mysql_versions()` when minimum PHP or MySQL requirements are not met. This allows automated scripts and test suites to interpret the result correctly. Props jrf, spacedmonkey. Merges [45350] to the 5.2 branch. Fixes #47169. Built from https://develop.svn.wordpress.org/branches/5.2@45351 git-svn-id: http://core.svn.wordpress.org/branches/5.2@45162 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/load.php | 19 +++++++++++++------ wp-includes/version.php | 2 +- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/wp-includes/load.php b/wp-includes/load.php index 05d37f5a79..7c9c2e7757 100644 --- a/wp-includes/load.php +++ b/wp-includes/load.php @@ -136,16 +136,23 @@ function wp_check_php_mysql_versions() { 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 ); } } diff --git a/wp-includes/version.php b/wp-includes/version.php index ce10a990d0..5a4968cf68 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.2.1-alpha-45349'; +$wp_version = '5.2.1-alpha-45351'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.