Nginx/PHP-FPM long log lines get truncated

11,604

Solution 1

The limit of 1024 characters is hard-coded in php-fpm not nginx.

If you want to go over 2048 characters you need to re-compiled both nginx and php-fpm, else only php-fpm.

There is a full solution with patches here for 8192 characters: https://forums.freebsd.org/threads/56543/

Solution 2

You need to recompile Nginx if you want log lines longer than 2048 bytes. From http://wiki.nginx.org/HttpLuaModule:

There is a hard-coded length limitation on the error messages in the Nginx core. It is 2048 bytes at most, including the trailing newlines and the leading timestamps. You can manually modify this limit by modifying the NGX_MAX_ERROR_STR macro definition in the src/core/ngx_log.h file in the Nginx source tree. If the message size exceeds this limit, the Nginx core will truncate the message text automatically.

Solution 3

I believe you need to have a look at

log_errors_max_len

From here

Solution 4

I recommend using php 7.3

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

Fixed bug #69031 (Long messages into stdout/stderr are truncated incorrectly) - added new log related FPM configuration options: log_limit, log_buffering and decorate_workers_output.

Solution 5

Open /etc/php-fpm.conf and update the value of log_limit = 4096 or higher if you like, then systemctl restart php-fpm.

Share:
11,604

Related videos on Youtube

Jason Christa
Author by

Jason Christa

Updated on September 18, 2022

Comments

  • Jason Christa
    Jason Christa over 1 year

    I am unsure is that is a Nginx or PHP-FPM setting, but long log lines are getting truncated. Is there a setting to increase the max log line length?

  • Benjamin Peter
    Benjamin Peter almost 8 years
    Recompiled with increased NGX_MAX_ERROR_STR. Did not help, same as before.
  • John Rix
    John Rix over 2 years
    This did not solve the problem for me with php7.3-fpm. The log_limit setting in php-fpm.conf is the place to go, per @realization and Max's answers.
  • pstryk
    pstryk over 2 years
    It might be worth mentioning this wouldn't work in versions prior to PHP 7.3.