[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

ACSD-64532:設為「false」的環境變數會被視為字串「false」,而非布林值FALSE

ACSD-64532修補程式修正將ENV變數設為​ false ​視為字串​ false ​而非BOOLEAN FALSE ​的問題。 安裝Quality Patches Tool (QPT) 1.1.62時,即可使用此修補程式。 修補程式ID為ACSD-64532。 請注意,此問題已排程在Adobe Commerce 2.4.8中修正。

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:
Adobe Commerce (所有部署方法) 2.4.6-p8

與Adobe Commerce版本相容:
Adobe Commerce (所有部署方法) 2.4.6-p2 - 2.4.7-p4

NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

設為ENVfalse ​變數會被視為字串​ false,而非BOOLEAN FALSE

要再現的步驟

  1. 將值為env:MAGENTO_DC_INDEXER__USE_APPLICATION_LOCKfalse ​新增至雲端基礎結構上Adobe Commerce的環境變數。

  2. 等待重新部署。

  3. 執行指令碼檢查值:

    code language-php
    <?php
    require '../app/bootstrap.php';
    $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
    $objectManager = $bootstrap->getObjectManager();
    $deploymentConfig = $objectManager->get('Magento\Framework\App\DeploymentConfig');
    $useAppLock = $deploymentConfig->get('indexer/use_application_lock');
    
    var_dump($useAppLock);
    
    $configParsedValue = $deploymentConfig->get('indexer/use_application_lock') ?: false;
    
    var_dump($configParsedValue);
    

預期結果
$configParsedValue (方法isUseApplicationLock()的結果)必須傳回負值,才能在方法\Magento\Indexer\Model\Mview\View\State::getStatus()內正確解譯。

實際結果
$configParsedValue具有​ string(5) false ​的值。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3