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 回答