Je reçois cette erreur lorsque j'essaie de créer quelque chose avec WP CLI:
Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or we can’t contact the database server at `localhost`. This could mean your Host’s database server is down.
Mais je peux ouvrir le site avec le lien: http: // localhost: 8888/nom du projet
Une idée?
Allez dans votre wp-config.php
et changez votre DB_Host
en 127.0.0.1
au lieu de localhost.
Le mérite revient à Craig Wayne ci-dessus dans les commentaires.
Assurez-vous d'utiliser le binaire MAMP PHP. Vous pouvez vérifier quel CLI est en cours d'exécution avec PHP Version WP
php wp-cli.phar --info
Pour utiliser la dernière version de MAMP PHP, vous devez modifier votre profil bash ou zsh:
PHP_VERSION=$(ls /Applications/MAMP/bin/php/ | sort -n | tail -1)
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH
Assurez-vous de recharger le profil:
source ~/.bash_profile
Assurez-vous que les modifications sont appliquées correctement:
php wp-cli.phar --info
Dans mon cas, outre le message d'erreur susmentionné, j'ai également reçu les avertissements ci-dessous:
PHP Warning: mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Warning: mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
Warning: mysqli_real_connect(): (HY000/2054): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1531
PHP Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning: mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset (255) unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
PHP Warning: mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Warning: mysql_connect(): Server sent charset unknown to the client. Please, report to the developers in /var/www/html/wp-includes/wp-db.php on line 1562
Selon cette question , ce problème se produit car le jeu de caractères par défaut pour MySQL 8.0 est utfmb4
.
En fait, je pourrais reproduire l'erreur en passant de MySQL 5.7 à MySQL 8.0
J'ai résolu le problème en exportant la base de données, en rétrogradant à MySQL 5.7 et en réimportant les données. J'ai également exécuté des tests sur MariaDB 10.3 et cela fonctionne bien.
Étape 1: vérifiez si votre serveur mysql est en cours d'exécution Étape 2: si oui, vous pouvez vous connecter à mysql à l'aide de
mysql -u root -p
puis entrez votre mot de passe: (vous devez utiliser cette commande depuis terminal) puis utilisez la commande suivante pour vous assurer que la base de données existe:
show databases;
grant all privileges on database_name.* to 'root'@'localhost' identified by 'password';
flush privileges;
exit;
maintenant, éditez le fichier wp-config.php et recherchez
define('DB_NAME', 'db_name');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_Host', 'localhost');
Maintenant, redémarrez le serveur et essayez de vous connecter à votre tableau de bord wordpress. J'espère que ça aide.