PHP-Einstellungen
In diesem Abschnitt wird beschrieben, wie Sie die erforderlichen PHP-Optionen festlegen.
Eine Anleitung zur Cloud-Konfiguration finden Sie unter PHP-Einstellungen im Handbuch zu Commerce Cloud-Infrastruktur.
PHP-Prozesssteuerung
Bevor Sie Indexer im parallelen Modus ausführen können, müssen Sie Process Control Support (pcntl) in PHP aktivieren. Siehe Installation in der PHP-Dokumentation.
Überprüfen, ob PHP installiert ist
PHP ist auf den meisten Linux-Distributionen standardmäßig installiert. Dieses Thema setzt voraus, dass Sie PHP bereits installiert haben. Um zu überprüfen, ob PHP installiert ist, geben Sie Folgendes in die Befehlszeile ein:
php -v
Wenn PHP installiert ist, wird eine Meldung ähnlich der folgenden angezeigt:
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
Wenn PHP nicht installiert ist (oder ein Upgrade benötigt), installieren Sie es, indem Sie die Anweisungen für Ihre Linux-Distribution befolgen.
Überprüfen installierter Erweiterungen
Adobe Commerce erfordert bestimmte PHP-Erweiterungen. In den folgenden Listen sind die erforderlichen Erweiterungen für jede Edition von Commerce aufgeführt. Die Listen werden automatisch aus einer Bereitstellung generiert, auf der die neueste Version jeder Edition ausgeführt wird.
Adobe Commerce erfordert:
ext-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-splext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-libxml
Magento Open Source erfordert:
ext-bcmathext-ctypeext-curlext-domext-fileinfoext-filterext-ftpext-gdext-hashext-iconvext-intlext-jsonext-libxmlext-mbstringext-opensslext-pcreext-pdo_mysqlext-simplexmlext-soapext-socketsext-sodiumext-tokenizerext-xmlwriterext-xslext-zipext-zliblib-libxml
So überprüfen Sie installierte Erweiterungen:
-
Installierte Module auflisten.
code language-bash php -m -
Stellen Sie sicher, dass alle erforderlichen Erweiterungen installiert sind.
-
Fügen Sie alle fehlenden Module mit demselben Workflow hinzu, der für die Installation von PHP verwendet wurde.
PHP-Einstellungen überprüfen
pcre.jit=0 in Ihrer php.ini. Dies umgeht einen PHP-, der Laden von CSS verhindert.- Legen Sie die Systemzeitzone für PHP fest; andernfalls funktionieren Fehler wie die folgende Anzeige während der Installation und zeitbezogene Vorgänge wie cron möglicherweise nicht:
PHP Warning: date(): It is not safe to rely on the system's timezone settings. [more messages follow]
-
Setzen Sie das PHP-Speicherlimit.
Adobe empfiehlt Folgendes:
- Kompilieren von Code oder Bereitstellen statischer Assets,
1G - Debugging,
2G - Tests,
~3-4G
- Kompilieren von Code oder Bereitstellen statischer Assets,
-
Erhöhen Sie die Werte für die PHP-
realpath_cache_sizeundrealpath_cache_ttlSie auf empfohlene Einstellungen:code language-conf realpath_cache_size=10M realpath_cache_ttl=7200Diese Einstellungen ermöglichen es PHP-Prozessen, Pfade zu Dateien zwischenzuspeichern, anstatt sie beim Laden der Seite zu suchen. Siehe Leistungsoptimierung in der PHP-Dokumentation.
-
Aktivieren Sie
opcache.save_comments, was für Adobe Commerce 2.1 und höher erforderlich ist.Aus Leistungsgründen empfiehlt Adobe, PHP OPcache zu aktivieren. Der OPcache ist in vielen PHP Distributionen aktiviert.
Adobe Commerce 2.1 und höher verwenden PHP-Codekommentare für die Codegenerierung.
PHP-Konfigurationsdateien suchen
In diesem Abschnitt wird beschrieben, wie Sie die Konfigurationsdateien finden, die zum Aktualisieren der erforderlichen Einstellungen erforderlich sind.
Suchen php.ini Konfigurationsdatei
Um die Webserver-Konfiguration zu finden, führen Sie eine phpinfo.php-Datei Ihrem Webbrowser aus und suchen Sie wie folgt nach der Loaded Configuration File:
Um die PHP-Befehlszeilenkonfiguration zu finden, geben Sie ein
php --ini | grep "Loaded Configuration File"
php.ini haben, ändern Sie diese Datei. Wenn Sie zwei php.ini haben, ändern Sie beide Dateien. Andernfalls kann es zu unvorhersehbarer Leistung kommen.OPcache-Konfigurationseinstellungen suchen
PHP OPcache-Einstellungen befinden sich normalerweise entweder in php.ini oder opcache.ini. Der Speicherort hängt möglicherweise von Ihrem Betriebssystem und der PHP-Version ab. Die OPcache-Konfigurationsdatei kann einen opcache Abschnitt oder Einstellungen wie opcache.enable aufweisen.
Verwenden Sie die folgenden Richtlinien, um sie zu finden:
-
Apache-Webserver:
Bei Ubuntu mit Apache befinden sich OPcache-Einstellungen normalerweise in der
php.ini.Bei CentOS mit Apache oder Nginx befinden sich die OPcache-Einstellungen normalerweise in
/etc/php.d/opcache.iniWenn nicht, verwenden Sie den folgenden Befehl, um sie zu finden:
code language-bash sudo find / -name 'opcache.ini' -
nginx Webserver mit PHP-FPM:
/etc/php/8.1/fpm/php.ini
Wenn Sie mehr als ein opcache.ini haben, ändern Sie alle.
Wie man PHP-Optionen einstellt
So legen Sie PHP-Optionen fest:
-
Öffnen Sie eine
php.iniin einem Texteditor. -
Suchen Sie die Zeitzone Ihres Servers in den verfügbaren Zeitzoneneinstellungen
-
Suchen Sie die folgende Einstellung und heben Sie ggf. die Auskommentierung auf:
code language-conf date.timezone = -
Fügen Sie die Zeitzoneneinstellung hinzu, die Sie in Schritt 2 gefunden haben.
-
Ändern Sie den Wert von
memory_limitin einen der am Anfang dieses Abschnitts empfohlenen Werte.Beispiel:
code language-conf memory_limit=2G -
Fügen Sie die
realpath_cache-Konfiguration hinzu oder aktualisieren Sie sie, damit sie den folgenden Werten entspricht:code language-conf ; ; Increase realpath cache size ; realpath_cache_size = 10M ; ; Increase realpath cache ttl ; realpath_cache_ttl = 7200 -
Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.
-
Öffnen Sie die andere
php.ini(sofern sie unterschiedlich sind) und nehmen Sie die gleichen Änderungen vor.
OPcache-Optionen festlegen
So legen Sie opcache.ini fest:
-
Öffnen Sie Ihre OP-Cache-Konfigurationsdatei in einem Texteditor:
opcache.ini(CentOS)php.ini(Ubuntu)/etc/php/8.1/fpm/php.ini(nginx Webserver (CentOS oder Ubuntu))
-
Suchen Sie
opcache.save_commentsund heben Sie ggf. die Auskommentierung auf. -
Stellen Sie sicher, dass der Wert auf
1gesetzt ist. -
Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.
-
Starten Sie den Webserver neu:
- Apache, Ubuntu:
service apache2 restart - Apache, CentOS:
service httpd restart - nginx, Ubuntu und CentOS:
service nginx restart
- Apache, Ubuntu:
Fehlerbehebung
In den folgenden Adobe Commerce-Support-Artikeln finden Sie Hilfe bei der Fehlerbehebung bei PHP-Problemen: