我有一个简单的问题-我正在使用PHP7和Nginx,并且我想在PHP方面决定是否应将当前请求记录在Nginx的访问日志中。是可能还是为时已晚,在PHP开始处理请求之前已经写了日志行?
感谢您的帮助。
答案 0 :(得分:1)
还不算太晚。您可以在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。