2015-06-14 3 views
1

Я знаю, что я видел этот вопрос раньше, но не видел ответа, который смог исправить проблему на моей машине.MAMP on Yosemite - ошибка соединения: SQLSTATE [HY000] [2002] Нет такого файла или каталога

Я относительно новичок в PHP и не имею опыта работы с настройками Apache.

Я использую последнюю версию MAMP (не pro) со всеми настройками по умолчанию в последней версии OS X (10.3.3).

Когда я пытаюсь подключиться через PDO я получаю следующее сообщение об ошибке:

Не удалось подключиться к базе данных server.exception «PDOException» с сообщением «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}

Подключение код от новичка Кевина Янка до ниндзя, измененный для применения к моей базе данных, имени пользователя и т. д.

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 и получаю ту же ошибку независимо.

Я ничего не вижу в консоли, которая могла бы помочь, но я, возможно, не искал правильную вещь.

Любая помощь приветствуется. Спасибо

+0

Привет, Да, я вижу, что mysqld работает в Activity Monitor. Это под моим именем пользователя. –

+0

Спасибо за помощь. Мой метод был порт, но я не указывал номер порта в коде. Я ранее пытался использовать его, но использовал порт Apache вместо порта MySQL. Теперь как шарм. –

ответ

0

Это может произойти, если mysqld не работает (все происходит). Это также может произойти, если у вас есть ошибка конфигурации.

К примеру, на моей установке, я воспроизвести ошибку с этим DSN:

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

конфигурационных вызовов для /tmp/mysql.sock

Проверьте конфигурации, чтобы увидеть, какой метод сконфигурирован (порт или гнездо) и который (порт или сокет). Если у вас неправильный порт или сокет в вашем DSN, вы получите тот же отчет об ошибке в вопросе.

Смежные вопросы