PHP-inställningar

I det här avsnittet beskrivs hur du ställer in obligatoriska PHP-alternativ.

NOTE
För den senaste versionen av Adobe Commerce krävs minst PHP 8.1. Se systemkraven för alla PHP-versioner som stöds.

Mer information om molnkonfiguration finns i PHP-inställningar i guiden Commerce om molninfrastruktur.

PHP-processkontroll

Innan du kan köra indexerare i parallellt läge måste du aktivera stöd för processkontroll (pcntl) i PHP. Se Installation i PHP-dokumentationen.

Kontrollera att PHP är installerat

PHP installeras som standard på de flesta Linux-distributioner. Det här avsnittet förutsätter att du redan har installerat PHP. Kontrollera om PHP är installerat genom att skriva följande på kommandoraden:

php -v

Om PHP är installerat visas ett meddelande som liknar följande:

PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies

Om PHP inte är installerat (eller kräver en uppgradering) installerar du det genom att följa instruktionerna för din Linux-distribution.

Verifiera installerade tillägg

Adobe Commerce kräver vissa PHP-tillägg. I följande lista anges vilka tillägg som krävs för varje utgåva av Commerce. Listorna genereras automatiskt från en distribution som kör den senaste versionen av varje utgåva.

Adobe Commerce kräver:

  • ext-bcmath
  • ext-ctype
  • ext-curl
  • ext-dom
  • ext-fileinfo
  • ext-filter
  • ext-gd
  • ext-hash
  • ext-iconv
  • ext-intl
  • ext-json
  • ext-libxml
  • ext-mbstring
  • ext-openssl
  • ext-pcre
  • ext-pdo_mysql
  • ext-simplexml
  • ext-soap
  • ext-sockets
  • ext-sodium
  • ext-spl
  • ext-tokenizer
  • ext-xmlwriter
  • ext-xsl
  • ext-zip
  • ext-zlib
  • lib-libxml

Magento Open Source kräver:

  • ext-bcmath
  • ext-ctype
  • ext-curl
  • ext-dom
  • ext-fileinfo
  • ext-filter
  • ext-gd
  • ext-hash
  • ext-iconv
  • ext-intl
  • ext-json
  • ext-libxml
  • ext-mbstring
  • ext-openssl
  • ext-pcre
  • ext-pdo_mysql
  • ext-simplexml
  • ext-soap
  • ext-sockets
  • ext-sodium
  • ext-tokenizer
  • ext-xmlwriter
  • ext-xsl
  • ext-zip
  • ext-zlib
  • lib-libxml

Så här verifierar du installerade tillägg:

  1. Lista installerade moduler.

    code language-bash
    php -m
    
  2. Kontrollera att alla nödvändiga tillägg är installerade.

  3. Lägg till saknade moduler med samma arbetsflöde som används för att installera PHP.

Kontrollera PHP-inställningar

WARNING
Om du använder PHP 7.4.20 anger du pcre.jit=0 i php.ini-filen. Det här kommer runt en PHP bug som förhindrar att CSS läses in.
  • Ställ in systemtidszonen för PHP, annars kanske fel som följande visas under installationen och tidsrelaterade åtgärder som kron inte fungerar:
PHP Warning:  date(): It is not safe to rely on the system's timezone settings. [more messages follow]
  • Ange PHP-minnesgränsen.

    Adobe rekommenderar följande:

    • Kompilerar kod eller distribuerar statiska resurser, 1G
    • Felsökning, 2G
    • Testar, ~3-4G
  • Öka värdena för PHP realpath_cache_size och realpath_cache_ttl till rekommenderade inställningar:

    code language-conf
    realpath_cache_size=10M
    realpath_cache_ttl=7200
    

    Med de här inställningarna kan PHP-processer cachelagra sökvägar till filer i stället för att leta upp dem vid sidinläsning. Se Prestandajustering i PHP-dokumentationen.

  • Aktivera opcache.save_comments, vilket krävs för Adobe Commerce 2.1 och senare.

    Adobe rekommenderar att du aktiverar PHP OPcache av prestandaskäl. OPcache är aktiverat i många PHP-distributioner.

    I Adobe Commerce 2.1 och senare används PHP-kodkommentarer för kodgenerering.

NOTE
För att undvika problem under installation och uppgradering rekommenderar Adobe starkt att du använder samma PHP-inställningar för både PHP-kommandoradskonfigurationen och PHP-webbserverns plugin-konfiguration. Mer information finns i nästa avsnitt.

Sök efter PHP-konfigurationsfiler

I det här avsnittet beskrivs hur du hittar de konfigurationsfiler som behövs för att uppdatera de nödvändiga inställningarna.

Sök efter konfigurationsfilen php.ini

Om du vill hitta webbserverkonfigurationen kör du en phpinfo.php-fili webbläsaren och söker efter Loaded Configuration File enligt följande:

PHP-informationssida

Om du vill hitta PHP-kommandoradskonfigurationen anger du

php --ini | grep "Loaded Configuration File"
NOTE
Om du bara har en php.ini-fil ändrar du den filen. Om du har två php.ini filer ändrar du båda filer. Om du inte gör det kan prestandan bli oförutsägbar.

Sök efter inställningar för OPcache-konfiguration

Inställningarna för PHP OPcache finns vanligtvis antingen i php.ini eller opcache.ini. Platsen kan vara beroende av operativsystemet och PHP-versionen. Konfigurationsfilen för OPCache kan ha ett opcache-avsnitt eller inställningar som opcache.enable.

Använd följande riktlinjer för att hitta den:

  • Apache-webbserver:

    För Ubuntu med Apache finns inställningarna för OPcache vanligtvis i filen php.ini.

    För CentOS med Apache eller nginx finns OPcache-inställningarna vanligtvis i /etc/php.d/opcache.ini

    Om inte, använder du följande kommando för att hitta den:

    code language-bash
    sudo find / -name 'opcache.ini'
    
  • nginx-webbserver med PHP-FPM: /etc/php/8.1/fpm/php.ini

Om du har fler än en opcache.ini ändrar du alla.

Ange PHP-alternativ

Så här anger du PHP-alternativ:

  1. Öppna en php.ini i en textredigerare.

  2. Hitta serverns tidszon i de tillgängliga tidszonsinställningarna

  3. Leta reda på följande inställning och avkommentera den om det behövs:

    code language-conf
    date.timezone =
    
  4. Lägg till tidszonsinställningen som du hittade i steg 2.

  5. Ändra värdet för memory_limit till ett av de värden som rekommenderas i början av det här avsnittet.

    Exempel:

    code language-conf
    memory_limit=2G
    
  6. Lägg till eller uppdatera realpath_cache-konfigurationen så att den matchar följande värden:

    code language-conf
    ;
    ; Increase realpath cache size
    ;
    realpath_cache_size = 10M
    
    ;
    ; Increase realpath cache ttl
    ;
    realpath_cache_ttl = 7200
    
  7. Spara ändringarna och avsluta textredigeraren.

  8. Öppna den andra php.ini (om de är olika) och gör samma ändringar i den.

Ange alternativ för OPCache

Så här anger du opcache.ini alternativ:

  1. Öppna din OPCache-konfigurationsfil i en textredigerare:

    • opcache.ini (CentOS)
    • php.ini (Ubuntu)
    • /etc/php/8.1/fpm/php.ini (nginx-webbserver (CentOS eller Ubuntu))
  2. Leta reda på opcache.save_comments och avkommentera den om det behövs.

  3. Kontrollera att värdet är 1.

  4. Spara ändringarna och avsluta textredigeraren.

  5. Starta om webbservern:

    • Apache, Ubuntu: service apache2 restart
    • Apache, CentOS: service httpd restart
    • nginx, Ubuntu och CentOS: service nginx restart

Felsökning

Se följande Adobe Commerce supportartiklar för hjälp med felsökning av PHP-problem:

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995