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?
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:
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/
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.
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.