it-swarm.com.de

mysqli_real_connect () - Authentifizierungsmethode, die den Client-Warnungen unbekannt ist

In meinem Debug-Protokoll werden ständig die folgenden Warnungen angezeigt:

PHP Warning:     mysqli_real_connect(): The server requested authentication method unknown to the client [mysql_old_password] in /wp-includes/wp-db.php on line 1379
PHP Warning:     mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client in /wp-includes/wp-db.php on line 1379
PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /wp-includes/wp-db.php on line 1409

Immer wieder führe ich das folgende Setup aus:

PHP       - 5.5.6
MYSQL     - 5.5.38
WordPress - 4.0.1

Alle meine Plugins sind auf dem neuesten Stand und es gibt nicht viele, die ich vorher nicht verwendet habe. Dieses Problem scheint nur auf diesem Host aufzutreten, daher habe ich Plugins ausgeschlossen. Ich habe dieses Problem nachgeschlagen, verstehe aber nicht, was in den Antworten tatsächlich steht:

MYSQL PHP Inkompatibilität

Brauchen Sie Hilfe beim Aussortieren von MySQL-Berechtigungen und -Verbindungen

Es hört sich so an, als ob ein Benutzer ein Passwort eingegeben hat, das nicht gehasht werden kann. Und wenn das der Fall ist, wie gehe ich dann vor, wenn ich das Passwort aller zurücksetze? Könnte vielleicht jemand dem Laien erklären, worin genau das Problem besteht?

1
Howdy_McGee

Dies hat nichts mit WordPress oder den Passwörtern Ihrer Benutzer zu tun.

Dies bedeutet, dass Ihr MySQL-Server immer noch den alten Passwort-Hash-Mechanismus verwendet, der in MySQL 4.1 geändert wurde. Der mysqli-Client PHP ist neuer und unterstützt den alten Passwortmechanismus nicht. Da dies einen Fehler verursacht, greift WordPress auf den alten MySQL-Client zurück, der dies unterstützt, jedoch veraltet ist (das ist die dritte Fehlermeldung, die Sie sehen).

Mit anderen Worten, das "Passwort", auf das es sich bezieht, ist nicht das WordPress-Passwort, sondern das Passwort, mit dem Sie WordPress mit Ihrer Datenbank verbinden. Diesen Benutzernamen und das Passwort in der Datei wp-config.php im Grunde.

Sie müssen lediglich das Kennwort für die Datenbank selbst in die neue Hash-Version ändern. Dies ist ein bisschen geheimnisvoll, und wenn Sie den MySQL-Server nicht wirklich kontrollieren, haben Sie möglicherweise keinen Zugriff darauf.

Sie können Ihren Host auffordern, old_passwords zu deaktivieren, aber wenn es sich um ein gemeinsam genutztes Datenbanksystem handelt, sind sie wahrscheinlich nicht dazu bereit.

Wenn Sie Ihren Server kontrollieren, lesen Sie diese Antwort. Beachten Sie, dass er die Antwort rückwärts erhielt und erklärte, wie man old_passwords aktiviert. Sie möchten den gleichen grundlegenden Prozess ausführen, aber umgekehrt, um old_passwords zu deaktivieren und den längeren Hash-Mechanismus anstelle des kürzeren zu erhalten.

https://dba.stackexchange.com/questions/33447/connect-error-2054-mysql-old-password-issue-still-not-solved

6
Otto