初投稿&PHP,Laravel初心者です
LaravelのMacローカル環境でマイグレーションを行った際以下のエラーが発生しました。
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
どうやらMySQLとの接続エラーらしいのですが、database.php
と.env
の設定は一通り終わらせていました。
どうやらdatabase.php
で'unix_socket'を設定しなければいけないようです。
unix_socketはMySQLから
show variables like '%sock%'
すると
+-----------------------------------------+-----------------+ | Variable_name | Value | +-----------------------------------------+-----------------+ | performance_schema_max_socket_classes | 10 | | performance_schema_max_socket_instances | -1 | | socket | /tmp/mysql.sock | +-----------------------------------------+-----------------+
このような画面が出てくるのでこの中の'/tmp/mysql.sock'をdatabase.phpに記述します。
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'sample',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'unix_socket' => '/tmp/mysql.sock',
),
もしshow variables like '%sock%'
でエラーが出た際はMySQLをアップグレードした上で再起動すると解決できると思います