はじめに
ちょー久しぶり(多分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');
これで接続できた。