web-dev-qa-db-ja.com

PHPUnitとWordPressとのデータベース接続問題

私はWordPressプラグインをユニットテストするためにPHPUnitを実行しようとしていますが、以下のエラーが出続けます。

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

WP-CLIを使用してユニットテストを設定しましたが、実行しようとするとWP-CLIで同様のエラーがスローされます。

データベースを実行するためにMAMPを使います。

WP-CLIとPHPUnitをpharsとして設定しました。これらは〜/ .bash-profileという別名で、OS Xが提供するデフォルトの "php"で実行しました。これを変更し、WP-CLIとPHPUnitを最新のPHPバージョンはWP-CLIを修正しました(それは実行中でデータベースへの接続は問題ありませんでした)が、PHPUnitはまだ同じエラーを投げていました。

Wp-config.phpファイルを編集して、ホストを ":/path/to/mamp/mysql.socket"、 "localhost:/path/to/mamp/mysql.socket"、 "127.0.0.1"に設定してみました。 "どれも助けにはならなかった。

私は完全に立ち往生している、そして次に何を試すべきかわからない。

2

PHPUnitテストを実行するとき、WordPressはwp-tests-config.phpの代わりにwp-config.phpから設定をロードします。データベース接続の詳細をwp-tests-config.phpに追加する必要があります。

また、データベースのホスティングにMAMPまたはAMPPSを使用する場合は、localhostの代わりに127.0.0.1をDB_Hostとして使用する必要があります。あるいは、選択したソリューションスタックによって提供されるPHPバージョンを使用するか、またはDB_Hostを ':/path/to/soulution/stack/mysql.socket'に設定します。

4
J.D.