web-dev-qa-db-fra.com

WP_USE_EXT_MYSQL

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.

1
John Sonderson

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.

3
Rarst

Depuis WordPress 3.9 , WP utilise MySQLi comme méthode de connexion par défaut lorsque:

  • L’extension MySQLi est installée sur le serveur Web ET
    1. La constante WP_USE_EXT_MYSQL est définie sur false (dans wp-config.php) OU
    2. Le serveur Web exécute PHP version 5.5 ou ultérieure OU
    3. L'ext/mysql n'est pas chargé

** Si vous définissez la constante WP_USE_EXT_MYSQL sur true, WordPress utilise l'extension MySQL au lieu de l'extension MySQLi.

1
Reza Mamun