我已经建立了一个本地MySQL数据库和一些单元测试表,虽然PHP本身可以很好地连接到localhost服务器,当我尝试在JetBrains PhpStorm IDE中运行PHPUnit单元测试时,我遇到了使用PDO连接时出现此错误:
SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo failed:提供了nodename或servname,或者未知(2002)
以及:
无效的目录名称:1046未选择数据库(3D000)
我的代码(在PHPUnit测试之外工作)是:
$conn = new PDO($dsn, $user, $pass);
// ...set PDO settings
$stmt = $conn->prepare($sql);
$stmt->execute();
如果我用127.0.0.1替换它,它仍然无法正常工作。奇怪的是,我创建和配置PDO连接对象的行不会抛出任何异常。只有当我尝试在连接上做任何事情时才会抛出这些错误。
我正在运行OS X 10.9,没有防火墙,最新的PhpStorm,PHPUnit,MySQL等。任何人都知道如何解决这个问题?