Lange Nginx / PHP-FPM-Protokollzeilen werden abgeschnitten


9

Ich bin mir nicht sicher, ob es sich um eine Nginx- oder PHP-FPM-Einstellung handelt, aber lange Protokollzeilen werden abgeschnitten. Gibt es eine Einstellung zum Erhöhen der maximalen Länge der Protokollzeile?

Antworten:


5

Das Limit von 1024 Zeichen ist in php-fpm und nicht in nginx fest codiert.

Wenn Sie mehr als 2048 Zeichen verwenden möchten, müssen Sie sowohl nginx als auch php-fpm neu kompilieren, andernfalls nur php-fpm.

Hier gibt es eine vollständige Lösung mit Patches für 8192 Zeichen: https://forums.freebsd.org/threads/56543/


4

Sie müssen Nginx neu kompilieren, wenn Sie Protokollzeilen wünschen, die länger als 2048 Byte sind. Von http://wiki.nginx.org/HttpLuaModule :

Es gibt eine fest codierte Längenbeschränkung für die Fehlermeldungen im Nginx-Kern. Es sind höchstens 2048 Bytes, einschließlich der nachfolgenden Zeilenumbrüche und der führenden Zeitstempel. Sie können diesen Grenzwert manuell ändern, indem Sie die Makrodefinition NGX_MAX_ERROR_STR in der Datei src / core / ngx_log.h im Nginx-Quellbaum ändern. Wenn die Nachrichtengröße diese Grenze überschreitet, schneidet der Nginx-Kern den Nachrichtentext automatisch ab.


Neu kompiliert mit erhöhtem NGX_MAX_ERROR_STR. Hat nicht geholfen, wie zuvor.
Benjamin Peter

3

Ich glaube, Sie müssen einen Blick darauf werfen

log_errors_max_len

Von hier aus


1
Das ist die richtige Antwort. Erhöhen Sie log_errors_max_len in der php.ini und lösen Sie dieses Problem.
James M

2

Ich empfehle die Verwendung von PHP 7.3

Von https://www.php.net/ChangeLog-7.php :

Fehler # 69031 behoben (Lange Nachrichten in stdout / stderr werden falsch abgeschnitten) - neue protokollbezogene FPM-Konfigurationsoptionen hinzugefügt: log_limit, log_buffering und decorate_workers_output.


0

Öffnen /etc/php-fpm.confund aktualisieren Sie den Wert von log_limit = 4096oder höher, wenn Sie möchten systemctl restart php-fpm.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.