laravel、lumen等.env檔案資料庫密碼配置正確,連不上資料庫

win27149發表於2022-02-07

一次專案遷移,改完.env檔案之後,資料庫一直連線不上,報錯:

SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

用的laravel8.x,只修改了資料庫配置。反覆確認資料庫密碼沒有錯誤。最終找到問題是資料庫密碼含有 ‘#’,而‘#’在.env檔案裡面被解析為註釋的標誌,導致從.env獲取的資料庫密碼是錯誤的,lumen也會有這個問題。以下幾種形式都是不行的:

DB_PASSWORD=#123456
DB_PASSWORD=123456#
DB_PASSWORD=123#456

解決辦法:

1.修改資料庫密碼,去掉所包含的 ‘#’

2.刪除掉.env裡面DB_PASSWORD配置項,在config/database.php裡面配置資料庫密碼

3.評論裡給的解決方法:DB_PASSWORD=’#123456’,用引號包裹。目前來看也是最好的解決方法。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章