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

Php Yosemite上的MAMP-连接错误:SQLSTATE[HY000][2002]没有这样的文件或目录,php,mysql,macos,pdo,mamp,Php,Mysql,Macos,Pdo,Mamp,我知道我以前见过这个问题,但还没有看到能够在我的机器上解决这个问题的答案 我对PHP比较陌生,没有使用Apache设置的经验 我使用的是最新版本的MAMP(非pro),在最新版本的OS X(10.3.3)上具有所有默认设置 当我尝试通过PDO连接时,我收到以下错误: 无法连接到数据库服务器。异常“PDOException”在/Applications/MAMP/htdocs/resources/config.php:7堆栈跟踪:#0/Applications/MAMP/htdocs/resour

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

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

我使用的是最新版本的MAMP(非pro),在最新版本的OS X(10.3.3)上具有所有默认设置

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

无法连接到数据库服务器。异常“PDOException”在/Applications/MAMP/htdocs/resources/config.php:7堆栈跟踪:#0/Applications/MAMP/htdocs/resources/config.php(7):PDO->u构造('mysql:host=loca…','USERNAME','PASSWORD')中显示消息“SQLSTATE[HY000][2002]没有此类文件或目录”#1/Applications/MAMP/htdocs/WEBSITE/index.php(2):包含_once('/Applications/M...)#2{main}

连接代码来自Kevin Yank的《忍者新手》一书,修改后适用于我的数据库、用户名等

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,但不管怎样都会得到相同的错误

我在控制台中看不到任何有帮助的东西,但我可能没有找到合适的东西


感谢您的帮助。谢谢

如果
mysqld
没有运行(事情发生了),这可能会发生。如果出现配置错误,也可能发生这种情况

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

mysql:unix_socket=/tmp/mysqle.sock;dbname=notifications;charset=utf8 
该配置调用
/tmp/mysql.sock


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

如果
mysqld
未运行,则可能会发生这种情况(发生问题)。如果出现配置错误,也可能发生这种情况

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

mysql:unix_socket=/tmp/mysqle.sock;dbname=notifications;charset=utf8 
该配置调用
/tmp/mysql.sock


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

您好,是的,我看到mysqld正在活动监视器中运行。这是我的用户名。谢谢你的帮助。我的方法是端口,但代码中没有包含端口号。我以前尝试过包含它,但使用Apache端口而不是MySQL端口。现在工作很有魅力。嗨,是的,我看到mysqld在活动监视器中运行。这是我的用户名。谢谢你的帮助。我的方法是端口,但代码中没有包含端口号。我以前尝试过包含它,但使用Apache端口而不是MySQL端口。现在工作很有魅力。嗨,是的,我看到mysqld在活动监视器中运行。这是我的用户名。谢谢你的帮助。我的方法是端口,但代码中没有包含端口号。我以前尝试过包含它,但使用Apache端口而不是MySQL端口。现在工作得很有魅力。