web-dev-qa-db-fra.com

mysqli_real_connect () - Méthode d'authentification inconnue du client. Avertissements

Je continue à recevoir les avertissements suivants dans mon journal de débogage:

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

Encore et encore, j'exécute la configuration suivante:

PHP       - 5.5.6
MYSQL     - 5.5.38
WordPress - 4.0.1

Tous mes plugins sont à jour et il n'y en a pas beaucoup que je n'ai pas utilisés auparavant. Ce problème semble ne se produire que sur cet hôte. J'ai donc exclu les plugins. J'ai examiné ce problème mais je ne comprends pas ce que les réponses disent réellement:

MYSQL PHP Incompatibilité

Besoin d'aide pour trier les permisions et les connexions mysql

On dirait que certains utilisateurs ont entré un mot de passe trop long pour être haché? Et si tel est le cas, comment pourrais-je m'y prendre, en réinitialisant le mot de passe Everybodies? Quelqu'un pourrait-il peut-être expliquer en termes simples comment se pose exactement le problème?

1
Howdy_McGee

Cela n'a rien à voir avec WordPress ou les mots de passe de vos utilisateurs.

Cela signifie que votre serveur MySQL utilise toujours le mécanisme old-password-hash, qui a été modifié dans MySQL 4.1. Le client PHP mysqli est plus récent et ne prend pas en charge l'ancien mécanisme de mot de passe. Comme cela provoque une erreur, WordPress revient à l'ancien client mysql, qui le supporte mais est obsolète (c'est le troisième message d'erreur que vous voyez).

En d'autres termes, le "mot de passe" auquel il fait référence ici n'est pas le mot de passe WordPress, c'est le mot de passe que vous utilisez pour connecter WordPress à votre base de données. Ce nom d'utilisateur et mot de passe dans le fichier wp-config.php, en gros.

Ce que vous devez faire est de changer le mot de passe de la base de données pour lui donner la version new-hash. C'est un peu mystérieux, et si vous ne contrôlez pas réellement le serveur MySQL, vous n'avez peut-être pas le droit de le faire.

Vous pouvez demander à votre hôte de désactiver old_passwords, mais s'il s'agit d'un système de base de données partagé, il est probable qu'il ne le souhaite pas.

Si vous contrôlez votre serveur, examinez cette réponse. Notez qu'il a eu la réponse à l'envers, expliquant comment activer old_passwords. Vous souhaitez suivre le même processus de base, mais inversement, pour désactiver old_passwords et obtenir le mécanisme de hachage le plus long au lieu du plus court.

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

6
Otto