AC-17975: PHP 8.5 compatibility issues affect CLI commands, category editing, Design Configuration, and customer login

The AC-17975 patch fixes the issue where CLI commands, category editing, Design Configuration, and AJAX customer login fail in Adobe Commerce 2.4.9 when PHP 8.5 is used. This patch is available when the Quality Patches Tool (QPT) 1.1.83 is installed. The patch ID is AC-17975. Please note that this issue is scheduled to be fixed in Adobe Commerce 2.4.9-p1 and 2.4.10.

Affected products and versions

The patch is created for Adobe Commerce version:

  • Adobe Commerce (all deployment methods) 2.4.9

Compatible with Adobe Commerce versions:

  • Adobe Commerce (all deployment methods) 2.4.9
NOTE
The patch might become applicable to other versions with new Quality Patches Tool releases. To check if the patch is compatible with your Adobe Commerce version, update the magento/quality-patches package to the latest version and check the compatibility on the Quality Patches Tool: Search for patches page. Use the patch ID as a search keyword to locate the patch.

Issue

CLI commands, category editing, Design Configuration, and AJAX customer login fail when Adobe Commerce 2.4.9 runs on PHP 8.5.

Prerequisites:

PHP 8.5 is installed.

Steps to reproduce:

  1. Run the following CLI command:

    code language-none
    bin/magento --version
    
  2. On the storefront, complete a checkout and sign in during checkout while customer CAPTCHA is enabled for login and checkout.

  3. In the Admin, open a category when a category attribute has frontend_input set to null.

  4. In the Admin, go to Content > Design > Configuration, then click Edit in the Action column for a store view.

Expected results:

All operations complete successfully.

Actual results:

The operations fail with errors, such as:

Exception #0 (Exception): Deprecated Functionality: Using null as an array offset is deprecated, use an empty string instead
/var/www/html/vendor/magento/framework/App/Config/ScopeCodeResolver.php on line 62
report.CRITICAL: Exception: Deprecated Functionality: Using null as the key parameter for array_key_exists() ... in module-captcha/Helper/Data.php on line 92
There is an error in vendor/magento/framework/Setup/Mvc/MvcApplication.php at line: 170
Undefined constant "Magento\Framework\Setup\Mvc\GLOB_BRACE"
Deprecated Functionality: Using null as an array offset is deprecated, use an empty string instead in
var/www/html/app/code/Magento/Catalog/Model/Category/DataProvider.php on line 41

Apply the patch

To apply individual patches, use the following links depending on your deployment method:

To learn more about Quality Patches Tool, refer to:

recommendation-more-help
commerce-operations-help-tools