web-dev-qa-db-ja.com

Nginx / PHP-FPMの長いログ行が切り捨てられる

それがNginxまたはPHP-FPM設定であるかどうかはわかりませんが、長いログ行が切り捨てられています。ログの最大行長を増やす設定はありますか?

9
Jason Christa

1024文字の制限は、nginxではなくphp-fpmにハードコードされています。

2048文字を超えたい場合は、nginxとphp-fpmの両方を再コンパイルする必要があります。それ以外の場合は、php-fpmのみを再コンパイルします。

ここに8192文字のパッチを含む完全な解決策があります: https://forums.freebsd.org/threads/56543/

5
Daniel Ylitalo

2048バイトより長いログ行が必要な場合は、Nginxを再コンパイルする必要があります。から http://wiki.nginx.org/HttpLuaModule

Nginxコアのエラーメッセージには、ハードコードされた長さの制限があります。末尾の改行と先頭のタイムスタンプを含めて、最大2048バイトです。 Nginxソースツリーのsrc/core/ngx_log.hファイルのNGX_MAX_ERROR_STRマクロ定義を変更することにより、この制限を手動で変更できます。メッセージサイズがこの制限を超えると、Nginxコアはメッセージテキストを自動的に切り捨てます。

4
Mike Ryan

私はあなたが見る必要があると信じています

log_errors_max_len

から ここ

3
Alexandru R

PHP 7.3の使用をお勧めします

から https://www.php.net/ChangeLog-7.php

バグ#69031を修正(stdout/stderrへの長いメッセージが誤って切り捨てられる)-新しいログ関連のFPM構成オプションを追加:log_limit、log_buffering、decorate_workers_output。

2
realization

/etc/php-fpm.confを開き、必要に応じてlog_limit = 4096以上の値を更新してから、systemctl restart php-fpmを更新します。

0
Max