PHP-inställningar
I det här avsnittet beskrivs hur du ställer in obligatoriska PHP-alternativ.
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:
-
Lista installerade moduler.
code language-bash php -m
-
Kontrollera att alla nödvändiga tillägg är installerade.
-
Lägg till saknade moduler med samma arbetsflöde som används för att installera PHP.
Kontrollera PHP-inställningar
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
- Kompilerar kod eller distribuerar statiska resurser,
-
Öka värdena för PHP
realpath_cache_size
ochrealpath_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.
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:
Om du vill hitta PHP-kommandoradskonfigurationen anger du
php --ini | grep "Loaded Configuration File"
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:
-
Öppna en
php.ini
i en textredigerare. -
Hitta serverns tidszon i de tillgängliga tidszonsinställningarna
-
Leta reda på följande inställning och avkommentera den om det behövs:
code language-conf date.timezone =
-
Lägg till tidszonsinställningen som du hittade i steg 2.
-
Ä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
-
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
-
Spara ändringarna och avsluta textredigeraren.
-
Ö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:
-
Ö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))
-
Leta reda på
opcache.save_comments
och avkommentera den om det behövs. -
Kontrollera att värdet är
1
. -
Spara ändringarna och avsluta textredigeraren.
-
Starta om webbservern:
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu och CentOS:
service nginx restart
- Apache, Ubuntu:
Felsökning
Se följande Adobe Commerce supportartiklar för hjälp med felsökning av PHP-problem: