LoginSignup
20

More than 5 years have passed since last update.

posted at

updated at

Laravel(5.1)のMacローカル環境での 'SQLSTATE[HY000] [2002] No such file or directory'エラー対処

初投稿&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に記述します。

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をアップグレードした上で再起動すると解決できると思います

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
20