我正在运行 nginx 和 PHP 5.5,error_log
当传递的字符串很长时,我的所有消息都会被截断。
我已经更新了我的php.ini
文件并将日志最大长度从 1024 增加到 0(没有最大值),它仍然在发生。
如果您希望日志行长于 2048 字节,则需要重新编译 Nginx。来自http://wiki.nginx.org/HttpLuaModule:
Nginx 内核中的错误消息存在硬编码长度限制。它最多为 2048 字节,包括尾随换行符和前导时间戳。您可以通过修改 Nginx 源代码树中 src/core/ngx_log.h 文件中的 NGX_MAX_ERROR_STR 宏定义来手动修改此限制。如果消息大小超过此限制,Nginx 核心将自动截断消息文本。
1024 个字符的限制在 php-fpm 中是硬编码的,您需要重新编译它。
如果你想超过 2048 个字符,你也需要重新编译 nginx。
这里有一个带有 8192 个字符的补丁的完整解决方案: https ://forums.freebsd.org/threads/56543/