2014-09-22 122 views
1

我将正在处理的应用程序移动到Mac OSX主机上的新开发服务器,Laravel Homestead VagrantBox。这样做后,我运行了php工匠:迁移到更新我的数据库,并且顺利完成。Laravel Homestead SQLSTATE [HY000] [2002]服务器移动后连接被拒绝

我决定创建一个新的用户继续测试,所以我创建的路线

Route::get('/newuser', function() 
{ 
    User::create([ 
     'username' => 'someone', 
     'email' => '[email protected]', 
     'password' => Hash::make('password') 
]); 

return 'Done.'; 
}); 

当我访问/ NEWUSER,但是。我收到以下消息。

SQLSTATE[HY000] [2002] Connection refused 

现在,我知道我的数据库的配置必须是正确的,因为我收到的时候我跑PHP工匠迁移和我的数据库迁移成功没有错误。然而,为了安全起见,我检查了我的数据库配置。

 'mysql' => array(
      'driver' => 'mysql', 
      'host'  => 'localhost:33060', 
      'database' => 'site', 
      'username' => 'root', 
      'password' => 'apassword', 
      'charset' => 'utf8', 
      'collation' => 'utf8_unicode_ci', 
      'prefix' => '', 
     ), 

我想,也许有与我确定我是在端口的方式的问题,所以我增加了参数:

'port' => '33060' 

一旦这样做,错误消息从“连接拒绝“到”没有这样的文件或目录“

我很茫然。有没有人有任何指针?

+0

你确定你的新服务器上使用正确的环境? – 2014-09-22 14:57:33

+1

是那个正确的端口?默认的mysql端口是3306 – andrew 2014-09-22 14:59:48

+0

默认数据库连接是'default'=>'mysql',所以我相信这是正确的环境。 – KinsDotNet 2014-09-22 15:01:47

回答

2

现在,我知道,我的数据库的配置必须是正确的,因为我没有收到任何错误,当我跑PHP工匠迁移

这是一个比你坚持的东西时,甚至金钱赌注更好的是这是你的假设之一,这是问题。在命令行运行期间,您的Laravel应用程序可能正在读取不同的凭证,或者迁移无关,或者出于某种奇怪的PHP原因,错误在迁移运行期间被抑制。我会检查Laravel在上下文中使用的凭据,您的错误正在出现。将以下代码添加到您的newuser路线中,以查看Laravel的读数。

$default = Config::get('database.default'); 
var_dump($default); 

$config = Config::get('database.connections.'.$default); 
var_dump($config); 
0

我有同样的问题,我看到我的数据库服务器没有响应我重新启动,它的工作原理...有时它会导致错误的配置。

我张贴了这个答案,如果有人有相同的问题和MySQL反应迟钝:)

相关问题