2015-11-03 82 views
2

嗨,我使用Laravel 5homestead。第一次遇到homestead這樣面臨的問題。我創建了一個數據庫'myDb'並將數據導入到這個數據庫中。我已經安裝了vagranthomestead,克隆了我的代碼並相應地配置了homestead.yaml文件。我已經建立了我的.env。當我嘗試運行我的項目是給我unknown database myDb error。我可以在我的phpmyadmin中看到我的數據庫,但我不知道它爲什麼會給我這個錯誤。我.env文件看起來像Laravel 5與家園有未知數據庫

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

而且我在config/database.php過相同的設置。

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

它真的讓我發瘋。我究竟做錯了什麼?我得到以下

in Connector.php line 55 
at PDO->__construct('mysql:host=localhost;dbname=myDb', 'homestead', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 55 
at Connector->createConnection('mysql:host=localhost;dbname=myDb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 22 
at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 60 
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 49 
+0

你有更新你的'config/database.php'文件嗎? –

+0

是的。我已經更新了,也可能是 –

+0

這可能是緩存問題,你是否重新啓動webserver –

回答

5

,你可能會犯一個常見的錯誤是,你可能訪問你的本地主機的MySQL服務器時,你應該記住,宅基地是一個完整的虛擬開發。環境。它有自己的Web服務器,MySQL服務器等。

要查看您是否還在Homestead MySQL服務器上有「myDB」,請嘗試通過以下命令訪問homestead。

homestead ssh 

一旦完成,嘗試通過mysql命令打開mysql控制檯。使用

show databases 

如果你不能看到「MYDB」數據庫那裏,比你應該嘗試連接到使用的Navicat或MySQL Workbench和移動家園MySQL服務器

mysql -u username -p 

而且該列表之後所有的數據庫你的數據庫從你的本地MySQL服務器到Homestead MySQL服務器。

這可能會解決您的問題。

+0

嘿男人...這是我正在尋找..謝謝。 +1對於很好的解釋 –

+0

沒問題!如果您還有其他問題,請告訴我。 – haseebahmed7