wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_check_php_mysql_versions is private and should not be used in themes or plugins directly.
wp_check_php_mysql_versions › WordPress Function
Since3.0.0
Deprecatedn/a
› wp_check_php_mysql_versions ( No parameters )
| Access: |
|
| Defined at: |
|
| Codex: |
Checks the server requirements.
- PHP version - PHP extensions - MySQL or MariaDB version (unless a database drop-in is present) Dies if requirements are not met.Related Functions: wp_check_mysql_version, wp_check_php_version, wp_check_browser_version, wp_get_wp_version, wp_kses_version
Source
function wp_check_php_mysql_versions() {
global $required_php_version, $required_php_extensions, $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 );
}
$missing_extensions = array();
if ( isset( $required_php_extensions ) && is_array( $required_php_extensions ) ) {
foreach ( $required_php_extensions as $extension ) {
if ( extension_loaded( $extension ) ) {
continue;
}
$missing_extensions[] = sprintf(
'WordPress %1$s requires the <code>%2$s</code> PHP extension.',
$wp_version,
$extension
);
}
}
if ( count( $missing_extensions ) > 0 ) {
$protocol = wp_get_server_protocol();
header( sprintf( '%s 500 Internal Server Error', $protocol ), true, 500 );
header( 'Content-Type: text/html; charset=utf-8' );
echo implode( '<br>', $missing_extensions );
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 );
}
}