有人可以展示如何使用fastcgi_finish_request()
功能的简单示例吗?
我用谷歌搜索,但只发现了一些提到它,有些人说他们成功使用它但我找不到一个带代码的例子。
例如,我有一个PHP对象。要向浏览器发送响应,我生成HTML,然后
通过getResult()
返回。然后回应结果。
像这样:
$obj = new controller();
echo $o->getResult();
假设我想利用这种优化技术将结果发送到浏览器,然后完成一些可能很长的过程,比如连接某些API,比如Facebook API。
我该怎么做呢?我明白基本上我可以调用fastcgi_finish_request();
然后继续执行php脚本。
我只需要查看示例代码,我自己也不够聪明。
答案 0 :(得分:42)
我明白基本上我可以调用fastcgi_finish_request();然后继续执行php脚本。
是的,这就是你所要做的一切。
$obj = new controller();
echo $o->getResult();
fastcgi_finish_request();
do_facebook_thing();
为了说服自己它正在发挥作用,请执行以下操作:
echo "Test";
fastcgi_finish_request();
sleep(10);
如果删除第二行,则会看到浏览器必须等待10秒。