PHP Nginx error_log被截断

时间:2013-09-29 23:43:26

标签: php logging nginx

我正在运行nginx和PHP 5.5,并且当传递的字符串很长时,所有error_log消息都会被截断。

我已经更新了我的php.ini文件,并将日志最大长度从1024增加到0(没有最大值)并且它仍在发生。

2 个答案:

答案 0 :(得分:5)

如果希望日志行超过2048字节,则需要重新编译Nginx。来自http://wiki.nginx.org/HttpLuaModule

Nginx核心中的错误消息存在硬编码长度限制。它最多为2048字节,包括尾随换行符和前导时间戳。您可以通过修改Nginx源树中src / core / ngx_log.h文件中的NGX_MAX_ERROR_STR宏定义来手动修改此限制。如果邮件大小超过此限制,Nginx核心将自动截断邮件文本。

答案 1 :(得分:1)

1024字符限制在php-fpm中是硬编码的,你需要重新编译它。

如果你想要超过2048个字符,你也需要重新编译nginx。

这里有一个包含8192个字符的补丁的完整解决方案: https://forums.freebsd.org/threads/56543/