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