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