2014-09-22 104 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反應遲鈍:)

相關問題