如何将信息从PHP-FPM传递到NginX,以不将当前请求记录在访问日志中?

问题描述 投票:1回答:1

我有一个简单的问题-我正在使用PHP7和Nginx,我想在PHP方面决定是否应将当前请求记录在Nginx的访问日志中。有可能还是为时已晚,并且在PHP开始处理请求之前已经写了日志行?

感谢您的帮助。

php nginx
1个回答
0
投票

还不算太晚。您可以在if=指令上使用access_log条件来控制记录哪些响应。

您只需决定如何将可记录状态从PHP传递回Nginx。例如,您可以使用自定义响应标头(例如X-Log)。

作为概念验证,以下似乎可行:

将不会被记录的PHP脚本:

<?php 
header('X-Log: No');
phpinfo();

Nginx配置片段:

map $sent_http_x_log $loggable {
    default 1;
    No      0;
}
access_log ... if=$loggable;

有关详细信息,请参见this document

© www.soinside.com 2019 - 2024. All rights reserved.