从PHP发送HTTP请求而不等待响应?
我想从 PHP 发送一个 HTTP GET 请求。例:
http://tracker.example.com?product_number=5230&price=123.52
这个想法是进行服务器端Web分析:服务器不是将跟踪信息从JavaScript发送到服务器,而是将跟踪信息直接发送到另一台服务器。
要求:
请求应尽可能少地花费时间,以免明显延迟 PHP 页面的处理。
-
不需要检查 来自 的响应。例如,来自以下方面的一些可能响应:
tracker.example.com
tracker.example.com
200:这很好,但不需要检查。
404:运气不好,但是 - 再次 - 没有必要检查。
301:虽然重定向是合适的,但它会延迟PHP页面的处理,所以不要这样做。
简而言之:可以丢弃所有响应。
解决方案的想法:
在现在删除的答案中,有人建议在shell进程中从PHP调用命令行curl。这似乎是一个好主意,只是我不知道在重负载下分叉很多shell进程是否是一件明智的事情。
我找到了php-ga,一个从PHP做服务器端Google Analytics的软件包。在项目的页面上,提到了:“可以配置为[...]使用非阻塞请求。到目前为止,我还没有找到时间来调查php-ga在内部使用什么方法,但这种方法可能是它!
简而言之:从PHP进行通用服务器端跟踪/分析的最佳解决方案是什么?