PHP-instellingen
In dit onderwerp wordt besproken hoe u vereiste PHP-opties kunt instellen.
Voor de configuratiebegeleiding van de Wolk, zie PHP montagesin Commerce op de gids van de Infrastructuur van de Wolk.
PHP Process Control
Voordat u indexeerders in parallelle modus kunt uitvoeren, moet u ondersteuning voor procesbesturing (pcntl
) inschakelen in PHP. Zie Installatiein de PHP documentatie.
Controleren of PHP is geïnstalleerd
PHP is standaard geïnstalleerd op de meeste Linux distributies. In dit onderwerp wordt ervan uitgegaan dat u PHP al hebt geïnstalleerd. Om te controleren of PHP is geïnstalleerd, voert u het volgende in op de opdrachtregel:
php -v
Als PHP is geïnstalleerd, wordt een bericht weergegeven dat lijkt op het volgende:
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
Als PHP niet is geïnstalleerd (of een upgrade nodig heeft), installeert u het door de instructies voor de Linux-distributie te volgen.
Geïnstalleerde extensies verifiëren
Adobe Commerce vereist bepaalde PHP extensies. In de volgende lijsten worden de vereiste extensies voor elke editie van Commerce opgegeven. De lijsten worden automatisch geproduceerd van een plaatsing die de recentste versie van elke uitgave in werking stelt.
Adobe Commerce vereist:
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 vereist:
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
Geïnstalleerde extensies controleren:
-
Geïnstalleerde modules weergeven.
code language-bash php -m
-
Controleer of alle vereiste extensies zijn geïnstalleerd.
-
Voeg ontbrekende modules toe aan de hand van dezelfde workflow die gebruikt wordt voor de installatie van PHP.
PHP-instellingen controleren
pcre.jit=0
in in uw php.ini
-bestand. Dit krijgt rond een PHP insectdat CSS verhindert te laden.- Stel de tijdzone van het systeem in voor PHP. Anders werken fouten zoals de volgende weergave tijdens de installatie en bewerkingen met betrekking tot tijd zoals cron mogelijk niet:
PHP Warning: date(): It is not safe to rely on the system's timezone settings. [more messages follow]
-
Stel de PHP-geheugenlimiet in.
Adobe beveelt het volgende aan:
- Code compileren of statische elementen implementeren,
1G
- Foutopsporing,
2G
- Testen,
~3-4G
- Code compileren of statische elementen implementeren,
-
Verhoog de waarden voor PHP
realpath_cache_size
enrealpath_cache_ttl
tot de aanbevolen instellingen:code language-conf realpath_cache_size=10M realpath_cache_ttl=7200
Met deze instellingen kunnen PHP-processen paden naar bestanden in cache plaatsen in plaats van ze te bekijken bij het laden van de pagina. Zie Prestaties diein de PHP documentatie stempelen.
-
Schakel
opcache.save_comments
in. Dit is vereist voor Adobe Commerce 2.1 en hoger.De Adobe adviseert toelatend PHP OPcachevoor prestatiesredenen. De OPcache is in veel PHP distributies ingeschakeld.
Adobe Commerce 2.1 en hoger gebruiken PHP-codeopmerkingen voor het genereren van code.
PHP-configuratiebestanden zoeken
In deze sectie wordt beschreven hoe u de configuratiebestanden vindt die nodig zijn om de vereiste instellingen bij te werken.
Configuratiebestand php.ini
zoeken
Als u de webserverconfiguratie wilt zoeken, voert u een phpinfo.php
bestandin uw webbrowser uit en zoekt u de Loaded Configuration File
als volgt:
Als u de PHP opdrachtregelconfiguratie wilt zoeken, typt u
php --ini | grep "Loaded Configuration File"
php.ini
-bestand hebt, wijzigt u dat bestand. Als u twee php.ini
dossiers hebt, verander allebei dossiers. Als u dit niet doet, kunnen er onvoorspelbare prestaties optreden.Configuratie-instellingen voor OPcache zoeken
PHP OPcache-instellingen bevinden zich doorgaans in php.ini
of opcache.ini
. De locatie kan afhankelijk zijn van uw besturingssysteem en PHP-versie. Het OPcache-configuratiebestand heeft mogelijk een opcache
-sectie of instellingen, zoals opcache.enable
.
Gebruik de volgende richtlijnen om het te vinden:
-
Apache-webserver:
Voor Ubuntu met Apache bevinden de OPcache-instellingen zich doorgaans in het
php.ini
-bestand.Voor CentOS met Apache of nginx bevinden de instellingen voor OPcache zich doorgaans in
/etc/php.d/opcache.ini
Als niet, gebruik het volgende bevel om van het de plaats te bepalen:
code language-bash sudo find / -name 'opcache.ini'
-
nginx-webserver met PHP-FPM:
/etc/php/8.1/fpm/php.ini
Als u meer dan één opcache.ini
hebt, wijzigt u ze allemaal.
PHP-opties instellen
PHP-opties instellen:
-
Open een
php.ini
in een teksteditor. -
Bepaal de plaats van de tijdzone van uw server in de beschikbare montages van de tijdzone
-
Zoek de volgende instelling en verwijder indien nodig de commentaarmarkering:
code language-conf date.timezone =
-
Voeg de tijdzone-instelling toe die u in stap 2 hebt gevonden.
-
Wijzig de waarde van
memory_limit
in een van de waarden die aan het begin van deze sectie worden aanbevolen.Bijvoorbeeld:
code language-conf memory_limit=2G
-
Voeg de configuratie van
realpath_cache
toe of werk deze bij zodat deze overeenkomt met de volgende waarden:code language-conf ; ; Increase realpath cache size ; realpath_cache_size = 10M ; ; Increase realpath cache ttl ; realpath_cache_ttl = 7200
-
Sla de wijzigingen op en sluit de teksteditor af.
-
Open de andere
php.ini
(als deze verschillend zijn) en breng dezelfde wijzigingen aan.
Opties voor OPcache instellen
U stelt opcache.ini
-opties als volgt in:
-
Open het OPcache-configuratiebestand in een teksteditor:
opcache.ini
(CentOS)php.ini
(Ubuntu)/etc/php/8.1/fpm/php.ini
(nginx-webserver (CentOS of Ubuntu))
-
Zoek
opcache.save_comments
en verwijder indien nodig de commentaarmarkering. -
Controleer of de waarde is ingesteld op
1
. -
Sla de wijzigingen op en sluit de teksteditor af.
-
Start de webserver opnieuw:
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu en CentOS:
service nginx restart
- Apache, Ubuntu:
Problemen oplossen
Raadpleeg de volgende Adobe Commerce Support-artikelen voor hulp bij het oplossen van problemen met PHP: