Voici le constructeur de la classe wpdb tel que trouvé dans le code source. Selon une recherche Google, ceci a été récemment renommé de USE_EXT_MYSQL. Cependant, je ne trouve nulle part dans le code source où l’une ou l’autre constante est définie.
function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
register_shutdown_function( array( $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;
}
}
Quelqu'un peut-il m'expliquer ce que le code fait et s'il y a une omission quelque part?
Merci.
Cette constante n'est en réalité jamais définie dans le code principal. Vous pouvez le définir vous-même dans la configuration wp-config.php
si vous en avez besoin, mais Core ne définit pasneedpour un fonctionnement normal. Il n’existe que pour la reconfiguration en exécutant une configuration non typique.
Depuis WordPress 3.9 , WP utilise MySQLi comme méthode de connexion par défaut lorsque:
** Si vous définissez la constante WP_USE_EXT_MYSQL sur true, WordPress utilise l'extension MySQL au lieu de l'extension MySQLi.