Ist die veraltete PHP mysql-Erweiterung eine Voraussetzung für WordPress 4.6?

Ich bin ein wenig verwirrt, als ich nach einiger Zeit eine andere WordPress-Installation gemacht habe.

Ich verwende eine Standard-Apache + PHP 7-Kombination (auch unter Versionskontrolle) und nach dem Auschecken von 4.6.1 von WordPress (die getaggte Version aus dem Github SVN-Spiegel, der offiziellen Git-Version ) begrüßt mich der Installer in der Sekunde Schritt mit der offensichtlichen Fehlermeldung, dass die mysql-Erweiterung in der folgenden Form fehlt:

Schwerwiegender Fehler: Uncaught Error: Aufruf zu undefinierter function mysql_connect () in /wp-includes/wp-db.php:1561 Stack trace:
# 0 /wp-admin/setup-config.php(276): wpdb-> db_connect ()
# 1 {main} in /wp-includes/wp-db.php in Zeile 1561` geworfen

Ich bin ein wenig verwirrt, dass die aktuelle WordPress-Version immer noch auf der (veralteten) php-mysql-Erweiterung basiert.

Vielleicht fehlen mir einige Konfigurationseinstellungen, selbst die Ursprungs-Ezsql-class konnte mit verschiedenen database-Backends umgehen. Vor 15 Jahren, und da wpdb davon abgeleitet ist, gibt es vielleicht noch einen Rest, um php-mysqli zu benutzen, was heutzutage häufiger ist (und sollte einfach portiert werden). Aber vielleicht schlägt das ein totes Pferd, also brauche ich ein Feedback für eine bessere Orientierung.

Es ist nur so, dass es aus der Fehlermeldung klingt, dass mysql immer noch benötigt wird, aber ich hoffe, das ist nicht die ganze Wahrheit. Die WordPress-Systemanforderungen teilen keine Informationen über die erforderlichen PHP-Erweiterungen und von diesen dokumentierten Anforderungen ist es, dass ich sie perfekt zusammenpasse.

Ich habe phpcompatinfo ausgeführt , um mehr herauszufinden, und das Ergebnis ist gemischt, es sieht so aus, als ob mysqli unterstützt wird (oder zumindest eine Option sein könnte):

Extensions Analysis https://github.com/WordPress/WordPress Extension Matches REF EXT min/Max PHP min/Max PHP all Core Core 7.0.2 7.0.2 PDO PDO 5.1.0 5.1.0 [...] memcache memcache 0.2 4.3.3 C mysql user 5.2.3 5.2.3 C mysqli user 5.0.0 5.0.0 C mysqlnd user 4.0.0 C openssl user 5.3.0 5.3.2 [...] Total [41] 7.0.2 => 5.6.23 

Verwandte Fragen:

  • Die Installation wird nicht geladen: PHP hat MYSQL nicht installiert

  • Ihre PHP-Installation scheint die von WordPress benötigte MySQL-Erweiterung zu verpassen

Solutions Collecting From Web of "Ist die veraltete PHP mysql-Erweiterung eine Voraussetzung für WordPress 4.6?"

WordPress wird MySQLi verwenden, wenn es möglich ist oder Sie es nicht sagen. Wenn WP eine mysqli_* -function nicht mysqli_* , wird angenommen, dass Sie mysql_* verwenden mysql_* .

Es gibt eine Logik , die auf den einfachen alten mysql_* , aber das ist nicht der Fall.

Sie erwähnen nicht, auf welchem ​​Betriebssystem Sie laufen, aber ich vermute, dass das php70-mysql Paket nicht installiert wurde. Ubuntu und Dinge wie das ondrej / php-PPA werden die verschiedenen mysql-Treiber (pdo mysql und mysqli) standardmäßig nicht enthalten.

Um hinzuzufügen, was @chrisguitarguy gesagt hat, wurde mysql extension bei php 7.0 (oder war es 5,6? Nicht wichtig hier) zugunsten der Erweiterung mysqli . Wie Chris sagte, versucht WordPress zu erkennen, ob Sie msqli installiert haben und es verwenden, und falls die Erkennung fehlschlägt, wird es versuchen, mysql zu verwenden. Der Fehler, den Sie erhalten haben, zeigt an, dass Sie mysqli installiert oder konfiguriert haben.