Laravel 5.1 - Homestead MySQL连接。 `拒绝连接'& `没有这样的文件或目录`

时间:2015-08-10 18:15:05

标签: mysql laravel laravel-5 homestead

当我的.env文件是这样的时候:

 DB_HOST=127.0.0.1
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

终端php artisan migrate成功运行,但在本地主机测试中,它会抛出

  

Connector.php第50行中的PDOException:

     

SQLSTATE [HY000] [2002]拒绝连接

但是当我的.env文件是这样的时候:

 DB_HOST=localhost
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

在localhost上,所有内容(注册)在终端引发时运行良好php artisan migrate

  

[PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录

我的database.php文件:

      'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'homestead'),
        'username'  => env('DB_USERNAME', 'homestead'),
        'password'  => env('DB_PASSWORD', 'secret'),
        'port'      => '33060',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

2 个答案:

答案 0 :(得分:3)

在VM内部,sql端口是3306.在宅基地VM之外,主机只有一个转发到宅基地VM上的SQL端口。这就是为什么33060指向3306。

Laravel Homestead Vagrant Box Database Problems

答案 1 :(得分:0)

解决问题。执行以下操作:

.ENV

ScrollView

database.php中

DB_HOST=127.0.0.1 
 DB_PORT=3306
 DB_DATABASE=homestead
 DB_USERNAME=homestead
 DB_PASSWORD=secret

这将使您的浏览得到修复。现在要运行artisan命令,只需做流浪汉SSH并在VM上运行它们。