摘要:項目一次發布導致的背景項目的某一次發布后,項目中連接數據庫突然報錯,而用同樣的數據庫賬號密碼在機器上連接是可以的。建議文件中,環境變量的配置,最好都加上,避免出現意外的災難。
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!*,但是在PHP代碼中讀取的數據庫密碼配置為abcde,可見#后面的內容代碼中認為是注釋,從而忽略了。
繼續查看jenkins發布日志,發現了有一段日志輸出:
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的文檔,看到以下說明:
CommentsYou can comment your .env file using the # character. E.g.
# this is a comment VAR="value" # comment VAR=value # comment解決方案
.env文件中,對密碼字段加上雙引號,如DB_PASSWORD="abcde#142!*",然后一切恢復正常。
建議.env文件中,環境變量的配置,最好都加上"",避免出現意外的災難。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30051.html
摘要:最近在維護一個三年前的舊代碼,用的是框架。單元測試和語言并發控制實際上是個蛋疼的問題,夸張一點說,當時的并不能特別輕松地實現并發,甚至不能實現并發。語言的功能之一就是自帶單元測試。用語言之前,我的習慣是不寫單元測試。 最近在維護一個三年前的舊代碼,用的是laravel框架。 從某些方面來講,這個代碼算是比較標準為了實現在規定的時間內完成相關功能,同時程序員水平不高、經過大量優化之后,變...
摘要:中國全量鏡像是由社區聯合又拍云與優帆遠揚共同合作推出的公益項目,旨在為廣大用戶提供穩定和高速的國內鏡像服務。致謝中國全量鏡像的由國內領先服務商又拍云提供,相信這次聯合合作能給鏡像提供穩定快速的支持。 showImg(https://dn-phphub.qbox.me/uploads/images/201704/21/1/dDANSZZbWZ.jpg); 『Composer 中國全量鏡像...
摘要:下面這段代碼是自帶的表單驗證的語法,不太了解的可以先查看文檔也可以使用替換和我們期望的結果是能校驗字段最小值是,最大值是當我單元測試的時候發現,竟然校驗通過了單元測試代碼文檔分析我們看一下文檔驗證中的字段必須具有最小值。 下面這段代碼是Laravel自帶的表單驗證的語法,不太了解的可以先查看文檔 group_num => min:1|max:21 // 也可以使用between替換m...
摘要:目前默認使用了包,所以無需拓展。簡單的消息隊列隊列為不同的后臺隊列服務提供統一的,例如,,,甚至其他基于關系型數據庫的隊列。隊列的目的是將耗時的任務延時處理,比如發送郵件,從而大幅度縮短請求和相應的時間。 更新內容 修復長時間沒訪問后登錄后臺空白的BUG (@1459416736) 修復部分后臺 server error 問題 (@1459416736) 增加 win 下 exten...
摘要:年月日,發布版本,本次版本更新帶來了全新的應用市場交付體驗,并對源碼類服務的運行機制架構服務管理等方面做了大量優化。發布社區公開應用。我們正在進行的是將應用轉化為應用存放于應用市場中供用戶直接安裝使用。 2019年7月8日,Rainbond發布5.1.5版本,本次版本更新帶來了全新的應用市場交付Pipeline體驗,并對源碼類服務的運行機制、ServiceMesh架構、服務管理等方面做...
閱讀 628·2023-04-25 18:37
閱讀 2790·2021-10-12 10:12
閱讀 8366·2021-09-22 15:07
閱讀 573·2019-08-30 15:55
閱讀 3181·2019-08-30 15:44
閱讀 2202·2019-08-30 15:44
閱讀 1634·2019-08-30 13:03
閱讀 1568·2019-08-30 12:55