PHP-Module und Einstellungen
Diese Seite bündelt PHP-bezogene Meldungen und die bisherigen Lösungsbeispiele. Ersetze x.x durch Deine PHP-Version. Die Apache-Pfade gelten für mod_php; PHP-FPM und die Kommandozeile können eigene Konfigurationen verwenden.
PHP-Speicherlimit
Die PHP-Speichergrenze liegt unter dem empfohlenen Wert von 512 MB. Einige Funktionen oder Anwendungen, einschließlich des Updaters, funktionieren möglicherweise nicht ordnungsgemäß.
Speicher zuordnung für die PHP Module. Am Verfügbaren Speicher des Servers Orientieren.
root@nc:~# vi /etc/php/x.x/apache2/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 2048M
OPcache-Puffer anpassen
Das PHP OPcache-Modul ist nicht ordnungsgemäß konfiguriert. Der "OPcache interned strings"-Puffer ist fast voll. Um sicherzustellen, dass sich wiederholende Strings effektiv zwischengespeichert werden können, wird empfohlen, "opcache.interned_strings_buffer" mit einem Wert größer als "8" in der PHP-Konfiguration zu setzen..
Empfohlene PHP-Erweiterungen installieren
Dieser Instanz fehlen einige empfohlene PHP-Module. Für eine verbesserte Leistung und bessere Kompatibilität wird dringend empfohlen, diese zu installieren: - gmp Erforderlich für SFTP-Speicher und empfohlen für WebAuthn-Leistung - intl Erhöht die Sprach-Übersetzungsleistung und behebt ein Problem mit der Sortierung von Nicht-ASCII-Zeichen
Imagick für die Theming-App einrichten
Das PHP-Modul "imagick" ist nicht aktiviert, die Theming-App hingegen schon. Damit die Favicon-Generierung korrekt funktioniert, müssen Sie dieses Modul installieren und aktivieren.
root@nc:~# apt install php-imagick librsvg2-common libmagickcore-7.q16-10-extra
root@nc:~# systemctl restart apache2
Ausgabepufferung deaktivieren
Pufferung von Ausgabedaten deaktivieren, die von einem PHP-Skript generiert werden, bevor sie an den Webbrowser gesendet werden.
root@nc:~# vi /etc/php/x.x/apache2/php.ini
; output_buffering = 4096
output_buffering = Off
PCRE-JIT-Fehler untersuchen
PHP-Meldung: Fehler
PHP
preg_match(): Allocation of JIT memory failed, PCRE JIT will be disabled.
Lösung:
root@nc:~# vi /etc/php/x.x/apache2/php.ini
pcre.jit=0
....
root@nc:~# truncate -s 0 /var/www/nextcloud/data/nextcloud.log
PHP nach einem Update prüfen
Nach einem Update wird PHP nicht richtig erkannt. Das folgende Beispiel gilt nur
für Apache mit installiertem PHP-8.5-Modul (mod_php). Passe die Versionsnummer an
das tatsächlich installierte Modul an. Bei PHP-FPM ist stattdessen dessen Dienst
und Apache-Anbindung zu prüfen; a2enmod php8.5 ist dort keine passende Lösung.
- Die PHP-Speichergrenze liegt unterhalb des empfohlenen Wertes von 512MB.
- Das PHP OPcache-Modul ist nicht richtig konfiguriert. Weitere Informationen findest du in der Dokumentation ↗.
- Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, opcache.interned_strings_buffer mit einem Wert größer als 8 in deiner PHP-Konfiguration anzuwenden.
vi /etc/php/x.x/apache2/php.ini
; Maximum amount of memory a script may consume
; https://php.net/memory-limit
memory_limit = 2048M
root@nc:~# a2enmod php8.5
Considering dependency mpm_prefork for php8.5:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.5:
Module php8.5 already enabled