4

nginx と PHP 5.5 を実行していerror_logますが、渡された文字列が長い場合、すべてのメッセージが切り捨てられます。

ファイルを更新php.iniし、ログの最大長を 1024 から 0 (最大なし) に増やしましたが、まだ発生しています。

4

2 に答える 2

7

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

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

于 2013-09-29T23:50:17.807 に答える
2

1024 文字の制限は php-fpm でハードコーディングされているため、再コンパイルする必要があります。

2048 文字を超える場合は、nginx も再コンパイルする必要があります。

ここに 8192 文字のパッチを含む完全なソリューションがあります: https://forums.freebsd.org/threads/56543/

于 2016-06-09T21:48:31.923 に答える