質問: 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"に設定してみました。 "どれも助けにはならなかった。私は完全に立ち往生している、そして次に何を試すべきかわからない。
回答: 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'に設定します。