2015-12-16 60 views
2

PHP人員遷移Laravel不能讀取數據庫憑證形式.ENV文件

[PDOException]
SQLSTATE [28000] [1045]訪問被拒絕的用戶僞造「@ '本地主機'(使用密碼:否)

.ENV文件

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=JYi8UKIIoaXlU9vrkNkrpu0Y7VpkaA3X 

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=root 
DB_PASSWORD=homestead 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

餘did't使database.php中

'driver' => 'mysql', 
    'host'  => env('DB_HOST', 'localhost'), 
    'database' => env('DB_DATABASE', 'forge'), 
    'username' => env('DB_USERNAME', 'forge'), 
    'password' => env('DB_PASSWORD', ''), 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
    'strict' => false, 
任何變化

當我運行︰php artisan env

它顯示本地如果我改變env生產它顯示生產。 我不明白爲什麼mysql不起作用。

另外在前端顯示:

哎呦,看起來像出事了。

Laravel錯誤頁面顯示如生產環境。 在Apache錯誤日誌中沒有任何錯誤。

我被這個問題困住了。 我更改文件權限清除laravel緩存。我無法使它工作。我使用流浪漢。新的laravel安裝工作正常。 請幫幫我。

+1

你真的在使用'Homestad'嗎?您在此顯示的是您需要使用自己的數據庫憑據更改的Laravel默認配置。 – Franco

+0

感謝您的回覆。我正在使用ubuntu/trusty64和apache服務器。數據庫名稱homestad – sohel4r

+1

但您正在使用'.env'文件中的默認憑據。您需要使用數據庫連接憑證更改這些值。至少如果你展示的是你真正的證書,我不這麼認爲。 – Franco

回答

4

您可能已緩存配置。嘗試在生產時運行artisan config:clearartisan config:cache

artisan config:clear將刪除您可能擁有的任何緩存,並開始使用.env代替。這在生產服務器上顯然是非最佳的,並且是config:cache命令的原因。

+1

非常感謝。其作品。首先我清楚只有緩存沒有清除配置:) – sohel4r

+0

是的,這是我的頭在足夠的時間終於卡住了。 – dino

+0

謝謝,'config:clear'爲我節省了零星的不可用配置值。 –