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