web-dev-qa-db-fra.com

Problème de connexion à la base de données avec PHPUnit et WordPress

J'essaie de lancer PHPUnit pour désinstaller un plugin WordPress, mais l'erreur ci-dessous continue de s'afficher.

Warning: mysqli_real_connect(): (HY000/2002): No such file or directory in /private/tmp/wordpress/wp-includes/wp-db.php on line 1452

J'ai utilisé WP-CLI pour configurer les unittests, mais WP-CLI renvoie également une erreur similaire lorsque je tente de l'exécuter.

J'utilise MAMP pour exécuter la base de données.

J'ai configuré WP-CLI et PHPUnit en tant que phars, alias dans ~/.bash-profile, et exécutés avec le "php" par défaut fourni par OS X. Changer cela et exécuter WP-CLI et PHPUnit avec le dernier PHP version fournie par MAMP corrigea WP-CLI (elle fonctionnait et se connectait parfaitement à la base de données) mais PHPUnit renvoyait toujours la même erreur.

J'ai essayé de modifier le fichier wp-config.php et de définir l'hôte sur ": /path/to/mamp/mysql.socket", "localhost: /path/to/mamp/mysql.socket" et "127.0.0.1 ", ce qui n'a pas aidé.

Je suis totalement coincé et je ne sais pas quoi faire ensuite.

2
SomeNorwegianGuy

Lors de l'exécution des tests de PHPUnit, WordPress chargera la configuration à partir de wp-tests-config.php au lieu de wp-config.php. Vous devez ajouter les informations de connexion à votre base de données dans wp-tests-config.php.

Et si vous utilisez MAMP ou AMPPS pour héberger votre base de données, vous devrez utiliser 127.0.0.1 comme DB_Host au lieu de localhost. Vous pouvez également utiliser la version PHP fournie par la pile de solutions choisie ou définir DB_Host sur ': /path/to/soulution/stack/mysql.socket'.

4
J.D.