Volledige upgradevoorwaarden

Het is belangrijk te begrijpen wat nodig is om Adobe Commerce te runnen. U moet eerst de systeemvereisten voor de versie waarnaar u wilt upgraden.

Nadat u de systeemvereisten hebt gecontroleerd, moet u aan de volgende voorwaarden voldoen voordat u de upgrade van uw systeem uitvoert:

  • Alle software bijwerken
  • Controleren of een ondersteund zoekprogramma is geïnstalleerd
  • Database-tabelindeling converteren
  • Limiet voor geopende bestanden instellen
  • Controleren of uitsnijdtaken worden uitgevoerd
  • Set DATA_CONVERTER_BATCH_SIZE
  • Controleren op bestandssysteemmachtigingen
  • Stel de pub/ mapbasis
  • De plug-in Composer-update installeren

Alle software bijwerken

De systeemvereisten exact beschrijven welke versies van software van derden zijn getest met Adobe Commerce-releases.

Zorg ervoor dat u alle systeemvereisten en afhankelijkheden in uw omgeving hebt bijgewerkt. Zie PHP 7,4, PHP 8,0, PHP 8,1, en vereiste PHP-instellingen.

NOTE
Voor Adobe Commerce op cloud Infrastructure Pro-projecten moet u een Ondersteuning ticket voor installatie of update van services in een testomgeving. Geef aan welke servicewijzigingen nodig zijn en neem uw bijgewerkte .magento.app.yaml en services.yaml bestanden en PHP-versie in het ticket. Het kan tot 48 uur duren voordat het infrastructuurteam van de cloud uw project kan bijwerken. Zie Ondersteunde software en services.

Controleren of een ondersteund zoekprogramma is geïnstalleerd

Adobe Commerce vereist dat Elasticsearch of OpenSearch is geïnstalleerd om de software te kunnen gebruiken.

Als u een upgrade uitvoert van 2.3.x naar 2.4, moet u controleren of u MySQL, Elasticsearch, of een derdextensie als uw motor van de catalogusonderzoek in uw 2.3.x instantie gebruikt. Het resultaat bepaalt wat u moet doen voor opwaardering tot 2.4.

Als u patchreleases bijwerkt binnen de releaselijnen 2.3.x of 2.4.x Als Elasticsearch 7.x al is geïnstalleerd, kunt u migreren naar OpenSearch.

U kunt de opdrachtregel of de beheerder gebruiken om de zoekengine voor de catalogus te bepalen:

  • Voer de bin/magento config:show catalog/search/engine gebruiken. De opdracht retourneert een waarde van mysql, elasticsearch (wat erop wijst dat Elasticsearch 2 wordt gevormd), elasticsearch5, elasticsearch6, elasticsearch7of een aangepaste waarde die aangeeft dat u een zoekprogramma van derden hebt geïnstalleerd. Voor versies ouder dan 2.4.6 gebruikt u de opdracht elasticsearch7 waarde voor Elasticsearch 7 of OpenSearch motor. Voor versie 2.4.6 en hoger gebruikt u de opdracht opensearch waarde voor de OpenSearch-engine.

  • Controleer vanuit de beheerder de waarde van de Stores > Settings > Configuration > Catalog > Catalog > Catalog Search > Search Engine veld.

In de volgende secties wordt beschreven welke handelingen u moet uitvoeren voordat u de upgrade naar 2.4.0 uitvoert.

MySQL

Vanaf 2.4, is MySQL niet meer een gesteunde motor van de catalogusonderzoek. U moet Elasticsearch of OpenSearch installeren en configureren voordat u een upgrade uitvoert. Gebruik de volgende bronnen om u door dit proces te begeleiden:

Bepaalde zoekprogramma's voor catalogi van derden worden boven op de zoekfunctie van Adobe Commerce uitgevoerd. Neem contact op met de leverancier om te bepalen of u de extensie moet bijwerken.

MariaDB

Het opnieuw indexeren op MariaDB 10.4 en 10.6 vergt meer tijd in vergelijking met vorige versies MariaDB of MySQL. Om het opnieuw indexeren te versnellen, adviseren wij plaatsend deze MariaDB configuratieparameters:

Als de prestaties achteruitgaan die niet samenhangen met indexering na de upgrade naar MariaDB 10.6, kunt u overwegen om --query-cache-type instellen. Bijvoorbeeld: --query-cache-type=ON.

Voordat u Adobe Commerce kunt upgraden voor cloud-infrastructuurprojecten, moet u mogelijk ook een upgrade uitvoeren voor MariaDB (Zie Aanbevolen werkwijzen voor MariaDB-upgrade).

Bijvoorbeeld:

  • Adobe Commerce 2.4.6 met MariaDB versie 10.5.1 of hoger
  • Adobe Commerce 2.3.5 met MariaDB versie 10.3 of lager

Naast deze aanbevelingen, zou u met uw gegevensbestandbeheerder over het vormen van de volgende parameters moeten raadplegen:

NOTE
Deze montages zijn beschikbaar voor op-gebouw slechts plaatsingen. Adobe Commerce op klanten met cloudinfrastructuur hebben geen toegang tot deze instellingen.

Zoekmachine

U moet of Elasticsearch 7.6 of hoger of OpenSearch 1.2 installeren en vormen alvorens aan 2.4.0 te bevorderen. Adobe ondersteunt Elasticsearch 2.x, 5.x en 6.x niet meer. Configuratie van zoekmachine in de Configuratiegids beschrijft de taken u na bevordering van Elasticsearch aan een gesteunde versie moet uitvoeren.

Zie Elasticsearch bijwerken voor volledige instructies voor het maken van back-ups van uw gegevens, het opsporen van potentiële migratiekwesties en het testen van upgrades voordat u deze implementeert naar de productie. Afhankelijk van uw huidige versie van Elasticsearch is het mogelijk dat een volledige clusterherstart al dan niet vereist is.

Voor Elasticsearch is Java Development Kit (JDK) 1.8 of hoger vereist. Zie De JDK (Java Software Development Kit) installeren om te controleren welke versie van JDK is geïnstalleerd.

OpenSearch

OpenSearch is een open-source vork van Elasticsearch 7.10.2, na de licentiewijziging van de Elasticsearch. In de volgende versies van Adobe Commerce wordt ondersteuning voor OpenSearch geïntroduceerd:

  • 2.4.6 (OpenSearch heeft een aparte module en instellingen)
  • 2.4.5.
  • 2.4.4.
  • 2.4.3-p2
  • 2.3.7-p3

U kunt migreren van Elasticsearch naar OpenSearch alleen als u een upgrade uitvoert naar een hierboven vermelde versie van Adobe Commerce (of hoger).

Voor OpenSearch is JDK 1.8 of hoger vereist. Zie De JDK (Java Software Development Kit) installeren om te controleren welke versie van JDK is geïnstalleerd.

Configuratie van zoekmachine beschrijft de taken u na veranderende onderzoeksmotoren moet uitvoeren.

Upgrade Elasticsearch

Ondersteuning voor Elasticsearch 8.x werd geïntroduceerd in Adobe Commerce 2.4.6. De volgende instructies tonen een voorbeeld van het upgraden van Elasticsearch van 7.x naar 8.x:

  1. Voer een upgrade uit van de Elasticsearch 7.x-server naar 8.x en zorg ervoor dat deze actief is. Zie de Documentatie Elasticsearch.

  2. De optie id_field_data veld door de volgende configuratie aan uw elasticsearch.yml en opnieuw starten van de Elasticsearch 8.x-service.

    code language-yaml
    indices:
      id_field_data:
        enabled: true
    
    note info
    INFO
    Om Elasticsearch 8.x te ondersteunen, maakt Adobe Commerce 2.4.6 de indices.id_field_data eigenschap standaard in en gebruikt de _id in het veld docvalue_fields eigenschap.
  3. Werk in de hoofdmap van uw Adobe Commerce-project uw Composer-afhankelijkheden bij om de Magento_Elasticsearch7 en installeer de Magento_Elasticsearch8 -module.

    code language-bash
    composer require magento/module-elasticsearch-8 --update-with-all-dependencies
    
  4. Werk uw projectcomponenten bij.

    code language-bash
    bin/magento setup:upgrade
    
  5. Elasticsearch configureren in de Admin.

  6. Indexeer de catalogusindex opnieuw.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  7. Verwijder alle items uit de ingeschakelde cachetypen.

    code language-bash
    bin/magento cache:clean
    

Elasticsearch verlagen

Als u per ongeluk de versie van de Elasticsearch op uw server bijwerkt of om een andere reden wilt verlagen, moet u ook uw Adobe Commerce-projectafhankelijkheden bijwerken. Bijvoorbeeld om van Elasticsearch 8.x aan 7.x te degraderen

  1. Verlaag de Elasticsearch 8.x-server naar 7.x en zorg ervoor dat deze in gebruik is. Zie de Documentatie Elasticsearch.

  2. Werk in de hoofdmap van uw Adobe Commerce-project uw Composer-afhankelijkheden bij om de Magento_Elasticsearch8 en de bijbehorende Composer-afhankelijkheden en installeer de Magento_Elasticsearch7 -module.

    code language-bash
    composer remove magento/module-elasticsearch-8
    
  3. Werk uw projectcomponenten bij.

    code language-bash
    bin/magento setup:upgrade
    
  4. Elasticsearch configureren in de Admin.

  5. Indexeer de catalogusindex opnieuw.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. Verwijder alle items uit de ingeschakelde cachetypen.

    code language-bash
    bin/magento cache:clean
    

Extensies van derden

We raden u aan contact op te nemen met uw leverancier van zoekprogramma's om te bepalen of uw extensie volledig compatibel is met een Adobe Commerce-versie.

Database-tabelindeling converteren

U moet de indeling van alle databasetabellen omzetten vanuit COMPACT tot DYNAMIC. U moet ook het type opslagengine omzetten van MyISAM tot InnoDB. Zie best practices.

Limiet voor geopende bestanden instellen

Door de limiet voor geopende bestanden in te stellen (ulimit), kan worden voorkomen dat meerdere recursieve aanroepen van lange querytekenreeksen mislukken of dat er problemen optreden met het gebruik van de bin/magento setup:rollback gebruiken. Deze opdracht is anders voor verschillende UNIX-schelpen. Raadpleeg uw individuele smaak voor details over ulimit gebruiken.

Adobe raadt u aan de geopende bestanden in te stellen ulimit op een waarde van 65536 of meer, maar u kunt indien nodig een hogere waarde gebruiken. U kunt de limiet instellen op de opdrachtregel of u kunt deze instellen als een permanente instelling voor de shell van de gebruiker.

U stelt de limiet in vanaf de opdrachtregel:

  1. Schakel over naar de eigenaar van bestandssysteem.

  2. Stel de limiet in op 65536.

    code language-bash
    ulimit -n 65536
    

De waarde in de Bash-shell instellen:

  1. Schakel over naar de eigenaar van bestandssysteem.

  2. Openen /home/<username>/.bashrc in een teksteditor.

  3. Voeg de volgende regel toe:

    code language-bash
    ulimit -n 65536
    
  4. Sla uw wijzigingen op in het dialoogvenster .bashrc en sluit de teksteditor af.

IMPORTANT
We raden u aan geen waarde in te stellen voor de pcre.recursion_limit eigenschap in de php.ini bestand omdat dit kan resulteren in onvolledige terugdraaiversies zonder foutmelding.

Controleren of uitsnijdtaken worden uitgevoerd

De de taakplanner van UNIX cron is essentieel voor dagelijkse Adobe Commerce-bewerkingen. Het plant dingen zoals het opnieuw indexeren, nieuwsbrieven, e-mail, en sitemaps. Voor verschillende functies is minstens één snijtaak vereist die wordt uitgevoerd als de eigenaar van het bestandssysteem.

Als u wilt controleren of de uitsnijdtaak op de juiste wijze is ingesteld, controleert u de tab door de volgende opdracht in te voeren als de eigenaar van het bestandssysteem:

NOTE
De tab is het configuratiebestand dat verantwoordelijk is voor het uitvoeren van snijtaken.
crontab -l

Resultaten die vergelijkbaar zijn met het volgende, moeten worden weergegeven:

#~ MAGENTO START c5f9e5ed71cceaabc4d4fd9b3e827a2b
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
#~ MAGENTO END c5f9e5ed71cceaabc4d4fd9b3e827a2b

Een ander symptoom van niet-actieve kroon is de volgende fout in de Admin:

Klik op Systeemberichten boven aan het venster als volgt:

Zie Uitsnede configureren en uitvoeren voor meer informatie .

DATA_CONVERTER_BATCH_SIZE instellen

Adobe Commerce 2.4 bevat beveiligingsverbeteringen waarvoor bepaalde gegevens moeten worden omgezet van geserialiseerde gegevens in JSON. Deze conversie vindt plaats tijdens de upgrade en kan lang duren, afhankelijk van de hoeveelheid gegevens in de database.

De volgende tabellen worden het meest beïnvloed:

  • catalogrule
  • core_config_data
  • magento_reward_history
  • quote_payment
  • quote
  • sales_order_payment
  • sales_order
  • salesrule
  • url_rewrite

Als u een grote hoeveelheid gegevens hebt, kunt u de prestaties verbeteren door de waarde van een omgevingsvariabele in te stellen, DATA_CONVERTER_BATCH_SIZE. Standaard is de waarde ingesteld op 50,000.

De omgevingsvariabele instellen:

  1. Schakel over naar de eigenaar van bestandssysteem.

  2. Stel de variabele in:

    code language-bash
    export DATA_CONVERTER_BATCH_SIZE=100000
    
    note note
    NOTE
    DATA_CONVERTER_BATCH_SIZE vereist geheugen; gebruik liever geen grote waarde (ongeveer 1 GB) zonder deze eerst te testen.
  3. Nadat de upgrade is voltooid, kunt u de instelling van de variabele ongedaan maken:

    code language-bash
    unset DATA_CONVERTER_BATCH_SIZE
    

Controleren op bestandssysteemmachtigingen

Om veiligheidsredenen vereist Adobe Commerce bepaalde machtigingen voor het bestandssysteem. Machtigingen verschillen van eigendom. Eigendom bepaalt wie handelingen op het bestandssysteem kan uitvoeren; machtigingen bepalen wat de gebruiker kan doen.

Mappen in het bestandssysteem moeten door de eigenaar van bestandssysteem groep.

Om te controleren of de machtigingen voor het bestandssysteem correct zijn ingesteld, meldt u zich aan bij de toepassingsserver of gebruikt u de toepassing van het bestandsbeheer van de hostingprovider.

Voer bijvoorbeeld de volgende opdracht in als de toepassing is geïnstalleerd in /var/www/html/magento2:

ls -l /var/www/html/magento2

Voorbeelduitvoer:

total 1028
drwxrwx---. 12 magento_user apache   4096 Jun  7 07:55 .
drwxr-xr-x.  3 root         root     4096 May 11 14:29 ..
drwxrwx---.  4 magento_user apache   4096 Jun  7 07:53 app
drwxrwx---.  2 magento_user apache   4096 Jun  7 07:53 bin
-rw-rw----.  1 magento_user apache 439792 Apr 27 21:23 CHANGELOG.md
-rw-rw----.  1 magento_user apache   3422 Apr 27 21:23 composer.json
-rw-rw----.  1 magento_user apache 425214 Apr 27 21:27 composer.lock
-rw-rw----.  1 magento_user apache   3425 Apr 27 21:23 CONTRIBUTING.md
-rw-rw----.  1 magento_user apache  10011 Apr 27 21:23 CONTRIBUTOR_LICENSE_AGREEMENT.html
-rw-rw----.  1 magento_user apache    631 Apr 27 21:23 COPYING.txt
drwxrwx---.  4 magento_user apache   4096 Jun  7 07:53 dev
-rw-rw----.  1 magento_user apache   2926 Apr 27 21:23 Gruntfile.js
-rw-rw----.  1 magento_user apache   7592 Apr 27 21:23 .htaccess
-rw-rw----.  1 magento_user apache   6419 Apr 27 21:23 .htaccess.sample
drwxrwx---.  4 magento_user apache   4096 Jun  7 07:53 lib
-rw-rw----.  1 magento_user apache  10376 Apr 27 21:23 LICENSE_AFL.txt
-rw-rw----.  1 magento_user apache  30634 Apr 27 21:23 LICENSE_EE.txt
-rw-rw----.  1 magento_user apache  10364 Apr 27 21:23 LICENSE.txt
-rw-rw----.  1 magento_user apache   4108 Apr 27 21:23 nginx.conf.sample
-rw-rw----.  1 magento_user apache   1427 Apr 27 21:23 package.json
-rw-rw----.  1 magento_user apache   1659 Apr 27 21:23 .php_cs
-rw-rw----.  1 magento_user apache    804 Apr 27 21:23 php.ini.sample
drwxrwx---.  2 magento_user apache   4096 Jun  7 07:53 phpserver
drwxrwx---.  6 magento_user apache   4096 Jun  7 07:53 pub
-rw-rw----.  1 magento_user apache   2207 Apr 27 21:23 README_EE.md
drwxrwx---.  7 magento_user apache   4096 Jun  7 07:53 setup
-rw-rw----.  1 magento_user apache   3731 Apr 27 21:23 .travis.yml
drwxrwx---.  7 magento_user apache   4096 Jun  7 07:53 update
drwxrws---. 11 magento_user apache   4096 Jun 13 16:05 var
drwxrws---. 29 magento_user apache   4096 Jun  7 07:53 vendor

Zie het volgende voor een verklaring van de steekproefoutput:

  • De meeste bestanden zijn -rw-rw----, die 660
  • drwxrwx--- = 770
  • -rw-rw-rw- = 666
  • De eigenaar van het bestandssysteem is magento_user

Als u meer gedetailleerde informatie wilt, voert u de volgende opdracht in:

ls -la /var/www/html/magento2/pub

Omdat Adobe Commerce statische bestandselementen implementeert in submappen van pub, is het een goed idee om ook daar toestemmingen en eigendom te verifiëren.

Zie voor meer informatie Machtigingen en eigendom van bestandssystemen.

Stel de pub/ mapbasis

Zie Documenthoofdmap wijzigen om de beveiliging te verbeteren voor meer informatie .

De plug-in Composer-update installeren

De magento/composer-root-update-plugin Composer-plug-in verhelpt wijzigingen die in het hoofdproject moeten worden aangebracht composer.json bestand te openen voordat de toepassing wordt bijgewerkt naar een nieuwe productvereiste.

De plug-in automatiseert de handmatige upgrade gedeeltelijk door afhankelijkheidsconflicten te identificeren en te helpen oplossen in plaats van deze handmatig te hoeven identificeren en te corrigeren.

De insteekmodule installeren:

  1. Voeg het pakket toe aan uw composer.json bestand.

    code language-bash
    composer require magento/composer-root-update-plugin ~2.0 --no-update
    
  2. Werk de gebiedsdelen bij:

    code language-bash
    composer update
    
recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea