Redis未序列化錯誤設定部署
在Adobe Commerce中,當平行程式在靜態內容部署期間干擾Redis連線時,執行setup:static-content:deploy命令會觸發Redis非序列化錯誤。 此問題會中斷部署並傳回非序列化和Redis連線錯誤。 若要修正此問題,請以單執行緒模式執行靜態內容部署,以防止平行Redis存取衝突。
說明 description
受影響的版本
- Adobe Commerce內部部署: 2.1.2和更新版本
- 雲端基礎結構上的Adobe Commerce 2.1.2和更新版本
- Redis,任何版本
問題/症狀
執行setup:static-content:deploy命令導致Redis錯誤:
)
[ 2017-06-02 19:57:59] Command:php ./bin/magento setup:static-content:deploy --jobs=3 en_US
[ Exception]
Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214
.....
[ CredisException]
read error on connection
[ RedisException]
read error on connection
.....
[ Exception]
Notice: unserialize(): Error at offset 0 of 1 bytes in /app/<domain>/vendor/magento/module-config/App/Config/Type/System.php
on line 214
.....
[ RuntimeException]
Command php ./bin/magento setup:static-content:deploy --jobs=3 en_US returned code 3
原因
此問題是由平行干擾Redis連線上的程式所造成。
在這裡,App/Config/Type/System.php中的處理程式預期由不同處理程式所做出的system_cache_exists回應。 檢視Jason Woods貼文中的詳細說明。
解決方法 resolution
透過設定下列環境變數,停用平行處理並以單一執行緒模式執行setup:static-content:deploy:
STATIC_CONTENT_THREADS=1
您也可以執行setup:static-content:deploy命令,然後執行-j 1 (或--jobs=1)引數。
注意:在單執行緒模式中,靜態內容部署程式可能需要四倍長的時間。
相關閱讀
在我們的開發人員檔案中:
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f