WordPress Version: 6.4
/**
* Checks for the required PHP version, and the mysqli extension or
* a database drop-in.
*
* Dies if requirements are not met.
*
* @since 3.0.0
* @access private
*
* @global string $required_php_version The required PHP version string.
* @global string $wp_version The WordPress version string.
*/
function wp_check_php_mysql_versions()
{
global $required_php_version, $wp_version;
$php_version = PHP_VERSION;
if (version_compare($required_php_version, $php_version, '>')) {
$protocol = wp_get_server_protocol();
header(sprintf('%s 500 Internal Server Error', $protocol), true, 500);
header('Content-Type: text/html; charset=utf-8');
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);
}
// This runs before default constants are defined, so we can't assume WP_CONTENT_DIR is set yet.
$wp_content_dir = defined('WP_CONTENT_DIR') ? WP_CONTENT_DIR : (ABSPATH . 'wp-content');
if (!function_exists('mysqli_connect') && !file_exists($wp_content_dir . '/db.php')) {
require_once ABSPATH . WPINC . '/functions.php';
wp_load_translations_early();
$message = '<p>' . __('Your PHP installation appears to be missing the MySQL extension which is required by WordPress.') . "</p>\n";
$message .= '<p>' . sprintf(
/* translators: %s: mysqli. */
__('Please check that the %s PHP extension is installed and enabled.'),
'<code>mysqli</code>'
) . "</p>\n";
$message .= '<p>' . sprintf(
/* translators: %s: Support forums URL. */
__('If you are unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href="%s">WordPress support forums</a>.'),
__('https://wordpress.org/support/forums/')
) . "</p>\n";
$args = array('exit' => false, 'code' => 'mysql_not_found');
wp_die($message, __('Requirements Not Met'), $args);
exit(1);
}
}