質問: new PDO($dsn, $user, $password); echo '成功'; } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } ```
回答: mysql.sock へのパスを php.ini に記述しているかどうかを確認。 PHP: 実行時設定 - Manual PHP: MySQL (PDO) - Manual デフォルトとして /tmp/mysql.sock を参照するようですが、 mysqlの構築状況によって変わるので要調査。 また、php.iniに記述しなくても、 DSN接続文字列の中に記述する方法もあります。 PHP: PDO_MYSQL DSN - Manual hostやportを使わずunix_socketを指定するのだとか。 その他関連情報 MacでPDO使った時にSQLSTATE\[HY000\] \[2002\] No such file or directoryと出る場合 - Qiita migrateで\[PDOException\]SQLSTATE\[HY000\] \[2002\] No such file or directoryと出た時のメモ - Qiita