MAMPでMySQLをPDOで接続する時にちょいハマった話


はじめに

ちょー久しぶり(多分10年ぶりぐらいw)にPHP,MAMP,MySQLをやる必要が出たので、すっかり忘れてしまっているので、調べながらPDOで接続してみようとしたら、小1時間ハマってしまったので、メモメモφ(・

更新履歴

2020.12.19 初回投稿

環境

  • macOS Catalina(10.15.7)
  • MAMP 6.0.1(985)
  • PHP 7.4.9
  • MySQL 5.7.30

現象

PHPでPDO接続しようとすると「[2002] No such file or directory」というエラーが表示され、接続できない。

new PDO('mysql:dbname=mydb;host=localhost;charset=utf8','root', 'root');

解決方法

・調べてみると、unix_socketを追加しろとあり、以下のようにしてみたけど接続失敗

new PDO('mysql:dbname=mydb;host=localhost;charset=utf8;unix_socket=/tmp/mysql.sock','root', 'root');

・んで、MAMP起動時に出てくるページ見るとunix_socketの場所が書いてあるやん

unix_socketを追加してあげる。

new PDO('mysql:dbname=mydb;host=localhost;charset=utf8;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock','root', 'root');

これで接続できた。

参考サイト