PHPUnit和WordPress的数据库连接问题

时间:2015-09-27 作者:SomeNorwegianGuy

我正在尝试运行PHPUnit对WordPress插件进行单元测试,但下面的错误不断出现。

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设置unittests,但在尝试运行时,WP-CLI也会引发类似的错误。

我使用MAMP来运行数据库。

我将WP-CLI和PHPUnit设置为phar,它们在~/中有别名。bash配置文件,并使用OS X提供的默认“php”运行。更改此设置,并使用MAMP提供的最新php版本运行WP-CLI和PHPUnit修复了WP-CLI(它运行并连接到数据库很好),但PHPUnit仍会引发相同的错误。

我已尝试编辑wp配置。php文件,并将主机设置为“:/path/to/mamp/mysql.socket”、“localhost:/path/to/mamp/mysql.socket”和“127.0.0.1”,这些都没有帮助。

我完全卡住了,不知道下一步该怎么办。

1 个回复
最合适的回答,由SO网友:J.D. 整理而成

运行PHPUnit测试时,WordPress将从wp-tests-config.php 而不是wp-config.php. 您需要在中添加数据库连接详细信息wp-tests-config.php.

如果使用MAMP或AMPP托管数据库,则必须使用127.0.0.1作为DB\\U主机,而不是本地主机。或者使用所选解决方案堆栈提供的PHP版本,或者将DB\\u HOST设置为“:/path/to/soulution/stack/mysql”。插座\'。