Laravel 5.1无法迁移数据库

时间:2015-08-23 21:07:54

标签: php mysql mamp laravel-5.1

我在网络服务器上使用MAMP:

以下是我的代码 的配置/ database.php中

'mysql' => [
            'driver'    => 'mysql',
            'unix_socket'   => '/Application/MAMP/tmp/mysql/mysql.sock',
            'host'      => env('DB_HOST'),
            'database'  => env('DB_DATABASE'),
            'username'  => env('DB_USERNAME'),
            'password'  => env('DB_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

.ENV

APP_ENV=local
APP_DEBUG=true
APP_KEY=dfsfsdffsd

DB_HOST=localhost
DB_DATABASE=my_database
DB_USERNAME=my_db_username
DB_PASSWORD=my_db_password

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

运行php artisan migrate时出现此错误:

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

可能有什么问题?提前谢谢

1 个答案:

答案 0 :(得分:2)

首先尝试将命令更改为此

php artisan migrate --env=local

如果这不起作用,请确保MySQL已启动并运行,并确保它使用默认端口3306

此外,尝试从命令行连接到MySQL以确保您可以连接到MySQL。打开命令行尝试连接,如此

mysql -hlocalhost -uroot -p

看看你是否能够连接。如果这不起作用,您可能需要将localhost更改为127.0.0.1或使用此行更新您的主机文件

127.0.0.1 localhost
127.0.0.1 127.0.0.1

我还会将此行添加到您的.env文件

DB_CONNECTION=mysql

如果上述所有操作都失败了,我会说你的套接字值设置不正确。

尝试从

更改套接字值
/Application/MAMP/tmp/mysql/mysql.sock

/Applications/MAMP/tmp/mysql/mysql.sock

您可以考虑为PHP创建一个php.ini文件

打开php.ini文件并查找pdo_mysql.default_socket并设置为:

pdo_mysql.default_socket=/Applications/MAMP/tmp/mysql/mysql.sock