WordPress.org

Make WordPress Core

Ticket #31018: 31018-3.diff

File 31018-3.diff, 967 bytes (added by MrGregWaugh, 4 years ago)

Enable pass through 'p:' from DB_HOST to mysqli_real_connect.

  • wp-includes/wp-db.php

    diff --git a/wp-includes/wp-db.php b/wp-includes/wp-db.php
    index f0622e3..d12f4dd 100644
    a b class wpdb { 
    14331433                        $port = null;
    14341434                        $socket = null;
    14351435                        $host = $this->dbhost;
     1436                        $pre_host = '';
     1437                        // If DB_HOST begins with a 'p:', allow it to be passed to mysqli_real_connect().
     1438                        // mysqli supports persistent connections starting with PHP 5.3.0.
     1439                        if (version_compare( phpversion(), '5.3.0', '>=' ) && 0 === strpos( $host, 'p:' )) {
     1440                                $host = substr( $host, 2 );
     1441                                $pre_host = 'p:';
     1442                        }
    14361443                        $port_or_socket = strstr( $host, ':' );
    14371444                        if ( ! empty( $port_or_socket ) ) {
    14381445                                $host = substr( $host, 0, strpos( $host, ':' ) );
    class wpdb { 
    14471454                                        $socket = $port_or_socket;
    14481455                                }
    14491456                        }
     1457                        $host = $pre_host . $host;
    14501458
    14511459                        if ( WP_DEBUG ) {
    14521460                                mysqli_real_connect( $this->dbh, $host, $this->dbuser, $this->dbpassword, null, $port, $socket, $client_flags );