How did I upgrade Magento on keyclampstore.com from 2.4.5-p10 to 2.4.8-p3?

1. Enable the maintenance mode

bin/magento maintenance:enable

2. Adapt the root composer.json to 2.4.8-p3

3. «magento/product-community-edition 2.4.8-p3 requires ext-ftp * -> it is missing from your system»

How did I workaround «magento/product-community-edition 2.4.8-p3 requires ext-ftp * -> it is missing from your system»?

4. «baldwin/magento2-module-csp-shim replaces magento/module-csp and thus cannot coexist with it»

5. «fooman/emailattachments-m2[3.3.10, ..., 3.3.11] require php ~7.1.0||~7.2.0||~7.3.0||~7.4.0||~8.0.0||~8.1.0 -> your php version (8.2.8) does not satisfy that requirement»

6. «laminas/laminas-log[2.13.0, ..., 2.14.x-dev] require php ^7.3 || ~8.0.0 -> your php version (8.2.8) does not satisfy that requirement»

7. Upgrade PHP to 8.2

Magento 2.4.8-p3 requires 8.2 ≤ PHP ≤ 8.4:

8. Upgrade the «Yotpo Reviews» module from 3.3.0 to 4.3.4

How did I upgrade the «Yotpo Reviews» module from 3.3.0 to 4.3.4?

Rationale

How did I fix «Module 'Yotpo_Yotpo'» / «sales_order_data_exporter indexer does not exist» on bin/magento setup:upgrade while upgrading Magento from 2.4.5-p10 to 2.4.8-p3?

9. composer update

rm -rf composer.lock
composer clear-cache
composer update --ignore-platform-req=ext-ftp

10. Reimplement the core file patches overwritten by composer update

  • .editorconfig
  • pub/get.php
  • setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php
  • vendor/magento/framework/Image/Adapter/Gd2.php
  • vendor/magento/framework/Interception/PluginListGenerator.php
  • vendor/magento/framework/View/Element/Template/File/Validator.php
  • vendor/magento/module-catalog/Model/View/Asset/Image.php

11. bin/magento setup:upgrade

rm -rf var/di var/generation generated/*
bin/magento setup:upgrade
bin/magento cache:enable
bin/magento setup:di:compile

12

13

14

15

16

STUB. Disable the maintenance mode

bin/magento maintenance:disable