如何将数据从php-fpm传递到nginx访问日志?

时间:2015-03-25 08:56:11

标签: nginx php

我试图通过在nginx中记录请求URL和$request_time来找到PHP应用程序中的瓶颈。不幸的是,$request_time包含网络滞后,我无法优化。我希望日志包含另一个具有纯页面生成时间的字段,因此我可以将其与$request_time进行比较。

我认为对于慢速连接,nginx会快速获取php-fpm输出,然后等待客户端下载它。我可以用PHP测量生成时间,但是如何将它放入nginx访问日志?

1 个答案:

答案 0 :(得分:2)

将您希望nginx的数据通过PHP登录到标题。

header('RequestTime', 1234);

要求nginx在nginx配置中记录标题的值。

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" "$http_x_forwarded_for" $upstream_http_requesttime';

请注意,此值也将通过标头发送到客户端,因此额外标头中不应包含任何敏感性质。