這篇文章帶給大家的內容是關於laravel專案發布所導致的BUG(環境變數問題) ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
laravel專案的某一次發布後,專案中連接資料庫突然報錯,而用同樣的資料庫帳號密碼在機器上連接是可以的。
臨時解決方案
經過短暫時間的檢查,沒找到原因,原始資料庫密碼DB_PASSWORD=abcde#142!*,修改資料庫密碼為DB_PASSWORD =abcde2019後,恢復正常。
排查思路
變更密碼後,資料庫能正常連接,可見是密碼問題,同時同樣的密碼在專案中存取資料庫失敗而在機器上可以訪問成功,可判斷是環境問題所導致的密碼問題。
在專案中列印資料庫連線設定的日誌,如下:
Array ( [driver] => mysql [host] => xxx [port] => xxx [database] => xxx [username] => xxx [password] => abcde [unix_socket] => [charset] => utf8mb4 [collation] => utf8mb4_unicode_ci [prefix] => [strict] => 1 [engine] => )
可見密碼配置在env中為DB_PASSWORD=abcde#142!*
Package operations: 0 installs, 3 updates, 0 removals - Updating vlucas/phpdotenv (v2.5.2 => v2.6.0): Downloading (connecting...)Downloading (0%) Downloading (15%)Downloading (100%)###發布過程中,有一個依賴套件的升級。 ######查看vlucas/phpdotenv的文檔,看到以下說明:######Comments######You can comment your .env file using the # character. E.g.###
# this is a comment VAR="value" # comment VAR=value # comment####rrreee## ####解決方案#########.env檔案中,在密碼欄位加上雙引號,如DB_PASSWORD="abcde#142!*",然後一切恢復正常。 ######建議.env檔案中,環境變數的配置,最好都加上"",避免意外的災難。 ############### ###
以上是laravel專案發布所導致的BUG(環境變數問題)的詳細內容。更多資訊請關注PHP中文網其他相關文章!