Назад | Перейти на главную страницу

Длинные строки журнала Nginx / PHP-FPM усекаются

Я не уверен, что это настройка Nginx или PHP-FPM, но длинные строки журнала обрезаются. Есть ли настройка для увеличения максимальной длины строки журнала?

Предел в 1024 символа жестко запрограммирован в php-fpm, а не в nginx.

Если вы хотите использовать более 2048 символов, вам нужно перекомпилировать как nginx, так и php-fpm, иначе только php-fpm.

Здесь есть полное решение с патчами на 8192 символа: https://forums.freebsd.org/threads/56543/

Вам необходимо перекомпилировать Nginx, если вы хотите, чтобы строки журнала были длиннее 2048 байт. Из http://wiki.nginx.org/HttpLuaModule:

В ядре Nginx существует жестко заданное ограничение длины сообщений об ошибках. Это максимум 2048 байт, включая завершающие символы новой строки и начальные отметки времени. Вы можете изменить это ограничение вручную, изменив определение макроса NGX_MAX_ERROR_STR в файле src / core / ngx_log.h в дереве исходного кода Nginx. Если размер сообщения превышает этот предел, ядро ​​Nginx автоматически усекает текст сообщения.

Я рекомендую использовать php 7.3

Из https://www.php.net/ChangeLog-7.php :

Исправлена ​​ошибка № 69031 (длинные сообщения в stdout / stderr обрезаются неправильно) - добавлены новые параметры конфигурации FPM, связанные с журналом: log_limit, log_buffering и decorate_workers_output.

Я считаю, тебе нужно взглянуть на

log_errors_max_len

Из Вот

открыто /etc/php-fpm.conf и обновите значение log_limit = 4096 или выше, если хотите, тогда systemctl restart php-fpm.