public function __construct($dbuser, $dbpassword, $dbname, $dbhost)
{
register_shutdown_function([$this, '__destruct']);
if (WP_DEBUG && WP_DEBUG_DISPLAY) {
$this->show_errors();
}
/* Use ext/mysqli if it exists and:
* - WP_USE_EXT_MYSQL is defined as false, or
* - We are a development version of WordPress, or
* - We are running PHP 5.5 or greater, or
* - ext/mysql is not loaded.
*/
if (function_exists('mysqli_connect')) {
if (defined('WP_USE_EXT_MYSQL')) {
$this->use_mysqli = !WP_USE_EXT_MYSQL;
} elseif (version_compare(phpversion(), '5.5', '>=') || !function_exists('mysql_connect')) {
$this->use_mysqli = true;
} elseif (false !== strpos($GLOBALS['wp_version'], '-')) {
$this->use_mysqli = true;
}
}
$this->init_charset();
$this->dbuser = $dbuser;
$this->dbpassword = $dbpassword;
$this->dbname = $dbname;
$this->dbhost = $dbhost;
// wp-config.php creation will manually connect when ready.
if (defined('WP_SETUP_CONFIG')) {
return;
}
$this->db_connect();
}