PHP-Einstellungen

In diesem Thema wird beschrieben, wie Sie die erforderlichen PHP-Optionen festlegen.

NOTE
Die neueste Version von Adobe Commerce erfordert mindestens PHP 8.1. Siehe Systemanforderungen für alle unterstützten PHP-Versionen.

Eine Anleitung zur Cloud-Konfiguration finden Sie unter PHP-Einstellungen im Commerce on Cloud Infrastructure Handbuch.

PHP Process Control

Bevor Sie Indexer im parallelen Modus ausführen können, müssen Sie die Unterstützung der Prozesssteuerung aktivieren (pcntl) in PHP. Siehe Installation in der PHP-Dokumentation.

Überprüfen, ob PHP installiert ist

PHP wird standardmäßig auf den meisten Linux-Distributionen 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 ähnliche Meldung wie die folgende 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 erforderlich ist), 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 werden die erforderlichen Erweiterungen für jede Version von Commerce aufgeführt. Die Listen werden von einer Bereitstellung automatisch generiert, bei der die neueste Version jeder Edition ausgeführt wird.

Adobe Commerce erfordert:

  • 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 erfordert:

  • 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

Überprüfen installierter Erweiterungen:

  1. Liste installierter Module.

    code language-bash
    php -m
    
  2. Stellen Sie sicher, dass alle erforderlichen Erweiterungen installiert sind.

  3. Fügen Sie alle fehlenden Module mit dem gleichen Workflow hinzu, der für die Installation von PHP verwendet wird.

Überprüfen der PHP-Einstellungen

WARNING
Wenn Sie PHP 7.4.20 verwenden, setzen Sie pcre.jit=0 in php.ini -Datei. Dies umgeht ein PHP Fehler verhindert, dass CSS geladen wird.
  • 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 von statischen Assets, 1G
    • Debugging, 2G
    • Test, ~3-4G
  • Erhöhen Sie die Werte für PHP realpath_cache_size und realpath_cache_ttl zu den empfohlenen Einstellungen:

    code language-conf
    realpath_cache_size=10M
    realpath_cache_ttl=7200
    

    Diese 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 opcache.save_comments, was für Adobe Commerce 2.1 und höher erforderlich ist.

    Adobe empfiehlt die Aktivierung der PHP OPcache aus Leistungsgründen. Der OPcache ist in vielen PHP-Distributionen aktiviert.

    Adobe Commerce 2.1 und höher verwenden PHP-Code-Kommentare zur Codegenerierung.

NOTE
Um Probleme während der Installation und Aktualisierung zu vermeiden, empfiehlt Adobe dringend, dass Sie die gleichen PHP-Einstellungen sowohl auf die PHP-Befehlszeilenkonfiguration als auch auf die PHP-Webserver-Plug-in-Konfiguration anwenden. Weitere Informationen finden Sie im nächsten Abschnitt.

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 Webserverkonfiguration zu finden, führen Sie einen phpinfo.php file in Ihrem Webbrowser nach Loaded Configuration File wie folgt:

PHP-Infoseite

Um die PHP-Befehlszeilenkonfiguration zu finden, geben Sie

php --ini | grep "Loaded Configuration File"
NOTE
Wenn Sie nur eine php.ini -Datei, ändern Sie diese Datei. Wenn Sie zwei php.ini Dateien, ändern both -Dateien. Andernfalls kann die Leistung unvorhersehbar sein.

OPcache-Konfigurationseinstellungen suchen

PHP OPcache-Einstellungen befinden sich normalerweise entweder in php.ini oder opcache.ini. Der Speicherort kann von Ihrem Betriebssystem und Ihrer PHP-Version abhängen. Die OPcache-Konfigurationsdatei verfügt möglicherweise über eine opcache -Abschnitt oder Einstellungen wie opcache.enable.

Verwenden Sie die folgenden Richtlinien, um sie zu finden:

  • Apache-Webserver:

    Für Ubuntu mit Apache befinden sich die OPcache-Einstellungen normalerweise im php.ini -Datei.

    Bei CentOS mit Apache oder nginx befinden sich die OPcache-Einstellungen normalerweise in /etc/php.d/opcache.ini

    Wenn nicht, suchen Sie mit dem folgenden Befehl:

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

Wenn Sie mehr als eine opcache.ini, ändern Sie alle.

Festlegen von PHP-Optionen

Festlegen von PHP-Optionen:

  1. Öffnen Sie eine php.ini in einem Texteditor.

  2. Suchen Sie die Zeitzone Ihres Servers in der verfügbaren Zeitzoneneinstellungen

  3. Suchen Sie die folgende Einstellung und heben Sie die Auskommentierung auf, falls erforderlich:

    code language-conf
    date.timezone =
    
  4. Fügen Sie die Zeitzoneneinstellung hinzu, die Sie in Schritt 2 gefunden haben.

  5. Ändern Sie den Wert von memory_limit zu einem der am Anfang dieses Abschnitts empfohlenen Werte.

    Beispiel:

    code language-conf
    memory_limit=2G
    
  6. Hinzufügen oder Aktualisieren der realpath_cache Konfiguration, um die folgenden Werte zu erfüllen:

    code language-conf
    ;
    ; Increase realpath cache size
    ;
    realpath_cache_size = 10M
    
    ;
    ; Increase realpath cache ttl
    ;
    realpath_cache_ttl = 7200
    
  7. Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.

  8. Öffnen Sie die andere php.ini (wenn sie unterschiedlich sind) und die gleichen Änderungen daran vornehmen.

OPcache-Optionen festlegen

Zum Festlegen opcache.ini options:

  1. Öffnen Sie die OPcache-Konfigurationsdatei in einem Texteditor:

    • opcache.ini (CentOS)
    • php.ini (Ubuntu)
    • /etc/php/8.1/fpm/php.ini (nginx-Webserver (CentOS oder Ubuntu))
  2. Suchen opcache.save_comments und entfernen Sie bei Bedarf die Kommentar.

  3. Stellen Sie sicher, dass der Wert auf 1.

  4. Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.

  5. Starten Sie den Webserver neu:

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

Fehlerbehebung

In den folgenden Adobe Commerce-Supportartikeln finden Sie Hilfe zur Fehlerbehebung bei PHP-Problemen:

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