ACSD-64532:「false」に設定された環境変数が、ブール値 FALSE ではなく、文字列「false」として扱われる
ACSD-64532 パッチでは、false に設定された ENV
変数が BOOLEAN
数 FALSE ではなく文字列 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
magento/quality-patches
パッケージを最新バージョンに更新し、Quality Patches Tool: Search for patches page で互換性を確認します。 パッチ ID を検索キーワードとして使用して、パッチを見つけます。問題
false に設定 ENV
れた変数は、BOOLEAN
数 FALSE ではなく文字列 false として扱われます。
再現手順 :
-
クラウドインフラストラクチャー上のAdobe Commerceの環境変数に、値 false の
env:MAGENTO_DC_INDEXER__USE_APPLICATION_LOCK
を追加します。 -
再デプロイを待ちます。
-
スクリプトを実行して、値を確認します。
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);
期待される結果 :
メソッド isUseApplicationLock()
の結果である $configParsedValue
がメソッド \Magento\Indexer\Model\Mview\View\State::getStatus()
内で正しく解釈されるためには、負の値を返す必要があります。
実際の結果 :$configParsedValue
の値は string(5) false
です。
パッチの適用
個々のパッチを適用するには、デプロイメント方法に応じて、次のリンクを使用します。
- Adobe CommerceまたはMagento Open Source オンプレミス:Quality Patches Tool > 使用状況Quality Patches Tool ガイドに記載されています。
- クラウドインフラストラクチャー上のAdobe Commerce:クラウドインフラストラクチャー上のCommerce ガイドの アップグレードとパッチ/ パッチの適用」を参照してください。
関連資料
Quality Patches Tool について詳しくは、以下を参照してください。
- Quality Patches Tool: 『ツールガイド』にあるクオリティパッチセルフサービスツール。