Ich habe gerade ein Upgrade auf PHP 7 durchgeführt, nur um festzustellen, dass WordPress 4.8.1 (neueste Version) immer noch mysql_connect im Modul wp-db.php verwendet, aber mysql_connect ist veraltet.
Der folgende Code stammt aus wp-db-php, Zeilen 1567-1571:
if ( WP_DEBUG ) {
$this->dbh = mysql_connect( $this->dbhost, $this->dbuser, $this->dbpassword, $new_link, $client_flags );
} else {
$this->dbh = @mysql_connect( $this->dbhost, $this->dbuser, $this>dbpassword,
$new_link, $client_flags);
}
Hier ist die Ausgabe, wenn ich versuche, mein Programm auszuführen:
Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion mysql_connect () in D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ wp-db.php: 1570 Stapelverfolgung
:
# 0 D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ wp- db.php (658): wpdb-> db_connect ()
# 1 D: \ ApacheHtdocs \ ConneXions \ wp-Includes \ load.php (404): wpdb -> __ Konstrukt ('root', '', 'connexions', ' localhost ')
# 2 D: \ ApacheHtdocs \ ConneXions \ wp-settings.php (106): require_wp_db ()
# 3 D: \ ApacheHtdocs \ ConneXions \ wp-config.php (104): require_once (' D: \ ApacheHtdocs. .. ')
# 4 D: \ ApacheHtdocs \ ConneXions \ wp-load.php (37): require_once (' D: \ ApacheHtdocs ... ')
# 5 D: \ ApacheHtdocs \ ConneXions \ wp-blog-header.php (13): require_once ('D: \ ApacheHtdocs ...')
# 6 D: \ ApacheHtdocs \ ConneXions \ index.php (17): require ('D: \ ApacheHtdocs ...')
# 7 {main} wird in D: \ ApacheHtdocs \ ConneXions \ wp-includes \ wp-db ausgelöst. PHP auf Linie 1570
Ich kann nicht glauben, dass WordPress sagt, dass es PHP 7 empfiehlt, aber es funktioniert nicht damit. Was fehlt mir hier?
mysql_connect
wird nur als Fallback verwendet, wennmysqli
es nicht erkannt wird. Es scheint, Sie haben keinemysqli
odermysql
installiert (mysqli
wird empfohlen,mysql
ist veraltet)