WP_USE_EXT_MYSQL

时间:2014-09-10 作者:John Sonderson

下面是源代码中wpdb类的构造函数。根据谷歌搜索,这一名称最近已从USE\\u EXT\\u MYSQL重命名。然而,我在源代码中找不到任何定义了常量的地方。

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;
        }
    }
有人能给我解释一下代码的作用,以及是否有遗漏?

谢谢

2 个回复
最合适的回答,由SO网友:Rarst 整理而成

这个常量实际上从未在核心代码中定义过。您可以在wp-config.php 如果需要,请进行配置,但core不需要为正常操作定义它。它仅用于重新配置以运行非典型设置。

SO网友:Reza Mamun

自从WordPress 3.9, 在以下情况下,WP使用MySQLi作为默认连接方法:

MySQLi扩展安装在web服务器上,WP\\u USE EXT\\u MYSQL常量设置为false(在WP config.php中)或web服务器运行php版本5.5或更高版本,或未加载EXT/MYSQL。将WP\\u USE EXT\\u MYSQL常量设置为true会导致WordPress使用MYSQL扩展而不是MySQLi扩展。

结束

相关推荐

Wpdb获取头像和作者URL

运行SQL查询,通过作者在帖子中获得的投票来获取作者。@邦格在我的第一篇文章中帮了我,并帮助我把这篇文章做得很好,但我提出了这个新问题,因为这是一个单独的问题。<?php global $wpdb; $date2 = date(\'Y-m-d\', strtotime(\'-60 days\')); $weekly