laravel执行php artisan migrate出现问题以及解决方案

参考资料

  1. http://stackoverflow.com/questions/20723803/pdoexception-sqlstatehy000-2002-no-such-file-or-directory
  2. http://laravel.com/docs/5.1/artisan#usage

执行

php artisan migrate

问题

                                                    

  [PDOException]                                    

  SQLSTATE[HY000] [2002] No such file or directory

解决方案

还是找到了 stackoverflow 上的答案

先说原因,因为框架没有找到对应的mysql执行,修改的文件的位置 ./config/database.php 的mysql

1.执行sql语句  show variables like ‘%sock%’

2.对应返回的结果的字段 socket 的对应的value,一般的结果大概长这个样子  /tmp/mysql.sock

3.修改文件 ./config/database.php 中的 connections 下的 mysql 添加

‘unix_socket’ => ‘/tmp/mysql.sock’

这样就可以执行了

Migration table created successfully.

Migrated: 2014_10_12_000000_create_users_table

Migrated: 2014_10_12_100000_create_password_resets_table

Migrated: 2015_12_14_090428_create_tasks_table

遗留问题,本地环境,测试环境,线上环境可能对应的mysql.sock的位置不一样,怎么设置