2015-02-11 47 views
1

我發現其他線程有相同的問題,但我沒有修復它。該文件說,我應該取消註釋擴展名= php_pdo_mysql.dll我所做的。我使用xampp運行Windows,並試圖連接到MySql數據庫。 但是我得到這個錯誤:php artisan migrate拋出PDOException

$ php artisan migrate 
exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)' in C:\xampp\htdocs\your-project-name\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:47 

我修改與正確的MySQL的憑據爲database.php文件,所以我沒怎麼,爲什麼我得到一個錯誤說我想,因爲我與宅基地的用戶名進行連接不要使用它。 我最終試圖使用宅基地,但我也嘗試安裝時遇到與PDO擴展相關的錯誤

+2

您正確[檢測您的環境](http://laravel.com/docs/4.2/configuration#environment-configuration)嗎? – 2015-02-11 19:45:13

+0

謝謝!這是問題。我不得不修改我的.env文件中的憑據。你能解釋一下那裏的database.php是什麼? – dkx22 2015-02-11 19:58:41

+0

在'.env'文件中,您可以爲此特定環境指定您的憑證。該文件在開發計算機和生產服務器上具有不同的內容。在'config/database.php'中你可以指定特定於應用程序的值,這些值在本地/開發和生產中是相同的。該文件從'.env'讀取數據庫憑證,如果沒有在那裏指定,它使用'env()'輔助方法的第二個參數的默認值。 – KazikM 2015-02-11 22:03:31

回答

2

您必須在Laravel Root Directory中更改.env文件。 給出正確的憑證,並確保給定的數據庫名稱在MYSQL中存在。

然後在修改.env文件之後,在這裏使用env對config/database.php進行更改,以便它將檢查.env文件中的該變量。如果找不到,那麼它將使用第二個參數作爲值。

 'driver' => 'mysql', 
     'host'  => env('DB_HOST', 'localhost'), 
     'database' => env('DB_DATABASE', 'laravel5'), 
     'username' => env('DB_USERNAME', 'root'), 
     'password' => env('DB_PASSWORD', 'ganesh'),