Yosemite上的MAMP - 连接错误:SQLSTATE [HY000] [2002]没有这样的文件或目录

时间:2015-06-14 22:56:40

标签: php mysql macos pdo mamp

我知道我以前见过这个问题但是没有看到能够解决我机器问题的答案。

我对PHP比较陌生,没有使用Apache设置的经验。

我使用最新版本的MAMP(非专业版)以及最新版OS X(10.3.3)的所有默认设置。

当我尝试通过PDO连接时,收到以下错误:

无法连接到数据库server.exception' PDOException' with message' SQLSTATE [HY000] [2002]没有这样的文件或目录'在/Applications/MAMP/htdocs/resources/config.php:7堆栈跟踪:#0 /Applications/MAMP/htdocs/resources/config.php(7):PDO-> __ construct(' mysql:host = loca ...',' USERNAME',' PASSWORD')#1 /Applications/MAMP/htdocs/WEBSITE/index.php(2):include_once(' ; / Applications / M ...')#2 {main}

连接代码来自Kevin Yank的Novice to Ninja book,已修改为适用于我的数据库,用户名等。

try
{
  $pdo = new PDO('mysql:host=localhost;dbname=db', $DBUser,$DBPass);
}
catch (PDOException $e)
{

  $error = 'Unable to connect to the database server.' . $e;
  include 'error.html.php';
  exit();
}

我尝试过localhost和127.0.0.1并且无论如何都会得到同样的错误。

我在控制台中看不到任何有用的东西,但我可能没有找到正确的东西。

感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:0)

如果mysqld未运行(事情发生),可能会发生这种情况。如果您遇到配置错误,也可能发生这种情况。

例如,在我的安装中,我使用此DSN重现错误:

mysql:unix_socket=/tmp/mysqle.sock;dbname=notifications;charset=utf8 

配置调用/tmp/mysql.sock

检查配置以查看配置的方法(端口或套接字)以及(端口或套接字)。如果您的DSN中有错误的端口或套接字,您将在问题中生成相同的错误报告。