Fehlerbehebung

PHP-Erweiterungen und Einstellungen

Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.

Welche PHP-Versionen und Erweiterungen KapsuleHost Web-Hosting bietet, welche Einstellungen Sie selbst ändern können und warum eine Änderung bis zu fünf Minuten dauern kann, bis sie angezeigt wird.

Alles, was mit PHP für eine Website zu tun hat, befindet sich an einem Ort: Websites, klicken Sie auf die Website, Erweitert, dann PHP. Diese Seite enthält die Versionsauswahl, die Einstellungen, die Sie ändern können, einen Composer-Runner und das PHP-Fehlerprotokoll.

Die PHP-Registerkarte für eine Website in KPanel

PHP-Version auswählen

Vier Versionen sind wählbar: 8.4, 8.3, 8.2 und 8.1. Neue Websites verwenden standardmäßig 8.3.

Wählen Sie die neueste Version aus, die Ihre Software tatsächlich unterstützt. Neuere PHP-Versionen sind deutlich schneller und werden länger mit Sicherheitsupdates unterstützt. Der Grund, nicht gleich zur neuesten Version zu wechseln, ist die Kompatibilität: Ein altes Plugin oder selbst geschriebener Code von vor Jahren kann auf einer Version, für die er nie getestet wurde, völlig fehlschlagen.

Um die Version zu ändern, wählen Sie die Version aus und klicken Sie auf Version anwenden. Die Änderung tritt sofort in Kraft, ohne dass Sie einen Neustart durchführen müssen und ohne Ausfallzeiten.

Ändern Sie die PHP-Version zunächst auf der Staging-Umgebung, klicken Sie durch die Website und ändern Sie sie dann erst in der Produktion. Wenn Sie es live tun müssen, tun Sie es, wenn Sie beobachten können, und beachten Sie, dass der Wechsel zurück nur ein Klick ist. Siehe Staging-Umgebungen.

Wenn eine Versionsänderung die Website beschädigt, wechseln Sie zur vorherigen Version zurück und lesen Sie das Protokoll. Der Fehler nennt die Datei, die nicht ausgeführt werden konnte. Siehe PHP-Version ändern und Fehlerprotokolle.

Einstellungen, die Sie ändern können

Die PHP-Seite bietet fünf Einstellungen als Dropdowns an. Dies sind diejenigen, die in der Praxis tatsächlich Probleme verursachen, weshalb sie angezeigt werden.

EinstellungStandardVerfügbare WerteWas es steuert
memory_limit256M128M, 256M, 512M, 1024M, 2048MWie viel Speicher eine Anfrage verwenden darf
max_execution_time3030, 60, 120, 300, 600Wie viele Sekunden eine Anfrage laufen darf
upload_max_filesize64M16M, 32M, 64M, 128M, 256MDie größte einzelne Datei, die hochgeladen werden kann
post_max_size65M17M, 33M, 65M, 129M, 257MDie größte Gesamtformularübermittlung
max_input_vars30001000, 3000, 5000, 10000Wie viele Felder eine Übermittlung enthalten darf

Welche Sie benötigen:

  • Uploads schlagen über einer bestimmten Größe fehl: Erhöhen Sie upload_max_filesize und post_max_size damit.
  • Ein großes Formular oder ein Page Builder verliert beim Speichern Felder: Erhöhen Sie max_input_vars. Dies ist unsichtbar und frustrierend, weil nichts fehlschlägt. Die zusätzlichen Felder werden stillschweigend verworfen.
  • Eine Seite bricht in der Mitte ab, ohne einen Fehler anzuzeigen: Erhöhen Sie memory_limit. Siehe WordPress-Speicherlimit.
  • Ein langer Import oder Export läuft ab: Erhöhen Sie max_execution_time, und erwägen Sie stattdessen, den Job über die Befehlszeile auszuführen. Siehe WP-CLI.

post_max_size muss größer sein als upload_max_filesize, weil der Upload in der Nachricht verläuft. Wenn Sie eine Kombination wählen, bei der dies nicht der Fall ist, korrigiert die Plattform post_max_size für Sie. Deshalb können Sie einen Wert sehen, den Sie nicht gewählt haben.

Warum eine Änderung bis zu fünf Minuten dauert

Dies ist die einzelne häufigste Verwirrung auf dieser Seite, daher lohnt es sich, präzise zu sein.

Ihre Einstellungen werden in eine .user.ini-Datei im Dokumenten-Root Ihrer Website geschrieben. PHP liest diese Datei und speichert sie dann 300 Sekunden lang, das sind fünf Minuten. Bis dieser Cache abläuft, verwendet PHP weiterhin die vorherigen Werte.

Nach dem Speichern einer Änderung:

  • Die Seite meldet das alte Limit bis zu fünf Minuten lang.
  • phpinfo() meldet das alte Limit bis zu fünf Minuten lang.
  • Ein Hard Refresh hilft nicht. Das Leeren des Browser-Cache auch nicht.
  • Sie müssen nichts neu starten und können es auch nicht. Warten Sie einfach.

Wenn mehr als fünf Minuten vergangen sind und der Wert sich nicht geändert hat, stimmt etwas nicht, und es lohnt sich, ein Ticket zu öffnen.

.user.ini selbst bearbeiten

Sie können .user.ini direkt über SFTP oder SSH bearbeiten, wenn Sie möchten, oder wenn Sie eine Direktive benötigen, die das Panel nicht bietet. Sie befindet sich im Dokumenten-Root Ihrer Website. Siehe SFTP-Zugriff.

Das Format ist eine Direktive pro Zeile:

memory_limit = 512M
max_execution_time = 120

Zwei wichtige Einschränkungen, was .user.ini tun kann:

Es funktioniert nur für Direktiven, die PHP pro Verzeichnis oder pro Benutzer festlegen darf. Die fünf oben genannten erfüllen alle diese Kriterien. Direktiven, die nur auf Systemebene festgelegt werden können, wie disable_functions oder das Laden einer Erweiterung mit extension=, werden in einer .user.ini-Datei ignoriert. Sie führen zu keinem Fehler, sie tun einfach nichts, weshalb Menschen einen Nachmittag damit verbringen.

Das Panel liest nur einfache Schlüssel zurück. Direktiven mit einem Punkt, wie opcache.enable oder date.timezone, werden von PHP berücksichtigt, erscheinen aber nicht im Panel-Formular. Wenn Sie eine manuell festlegen und später etwas über das Panel ändern, überprüfen Sie die Datei danach.

Kapsule Web-Hosting läuft mit nginx, nicht Apache. .htaccess-Dateien werden von niemandem gelesen. PHP-Direktiven in einer .htaccess-Datei, wie php_value memory_limit, tun hier absolut nichts. Verwenden Sie stattdessen .user.ini oder das Panel. Siehe WordPress und .htaccess.

Welche Erweiterungen verfügbar sind

Der Standard-Build ist umfangreich und enthält alles, was WordPress, WooCommerce und die meisten PHP-Anwendungen anfordern.

Datenbanken: mysqli, pdo_mysql, sqlite3, pdo_sqlite Bilder: gd, imagick, exif Caching: Zend OPcache, redis, memcached Text und Lokalisierung: mbstring, iconv, intl, gettext, ctype XML und Daten: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json Netzwerk: curl, soap, sockets, ftp, openssl Mathematik und Kryptographie: bcmath, sodium, hash, random Dateien und System: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer

Ein Versionsunterschied, der bemerkenswert ist: Die Erweiterung imap ist in 8.3 und früher vorhanden, aber nicht in 8.4, da sie in dieser Version aus PHP selbst entfernt wurde. Wenn Sie eine Anwendung haben, die sie noch benötigt, bleiben Sie bei 8.3 oder verschieben Sie diese Anwendung auf eine moderne Mail-Bibliothek.

Nicht installiert: PostgreSQL-Treiber, MongoDB, Xdebug, mcrypt und kommerzielle Code-Loader wie ionCube und SourceGuardian.

Sie können Erweiterungen selbst nicht über das Panel aktivieren oder deaktivieren. Wenn Ihre Anwendung etwas benötigt, das nicht in der Liste enthalten ist, öffnen Sie ein Ticket und beschreiben Sie, was Sie ausführen. Ob es hinzugefügt werden kann, hängt von der Erweiterung ab. Siehe Ein Support-Ticket öffnen.

Überprüfen, was tatsächlich geladen ist

Anstatt zu raten:

  • Auf WordPress: Tools, dann Site Health, dann Info, dann Server. Es listet die PHP-Version und die relevanten Limits auf.
  • Über SSH: php -v für die Version und php -m für die geladenen Erweiterungen. Siehe SSH-Schlüssel hinzufügen.

Lassen Sie keine phpinfo()-Datei in Ihrem Web-Root. Sie veröffentlicht Ihre Pfade, Ihre Erweiterungen und Ihre Konfiguration für jeden, der sie findet, und automatisierte Scanner suchen genau nach diesem Dateinamen. Wenn Sie eine erstellen, um etwas zu überprüfen, löschen Sie sie sofort danach.

Verwandte Anleitungen

Benötigen Sie noch Hilfe?

Schreiben Sie uns an support@kapsulehost.com oder öffnen Sie einen Chat in KPanel.

KPanel öffnen
PHP-Erweiterungen und Einstellungen