如何使用fastcgi_finish_request()的示例

时间:2010-11-21 02:00:52

标签: php fastcgi

有人可以展示如何使用fastcgi_finish_request()功能的简单示例吗? 我用谷歌搜索,但只发现了一些提到它,有些人说他们成功使用它但我找不到一个带代码的例子。

例如,我有一个PHP对象。要向浏览器发送响应,我生成HTML,然后 通过getResult()返回。然后回应结果。

像这样:

$obj = new controller();
echo $o->getResult();

假设我想利用这种优化技术将结果发送到浏览器,然后完成一些可能很长的过程,比如连接某些API,比如Facebook API。

我该怎么做呢?我明白基本上我可以调用fastcgi_finish_request();然后继续执行php脚本。

我只需要查看示例代码,我自己也不够聪明。

1 个答案:

答案 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秒。