一尘不染

如何使用fastcgi_finish_request()的示例

php

有人可以举一个简单的例子来说明如何使用fastcgi_finish_request()函数吗?我用谷歌搜索,但只发现了一些通用的提法,有人说他们成功使用了它,但是我找不到包含代码的单个示例。

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

像这样:

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

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

我将如何去做呢?我了解基本上我可以调用fastcgi_finish_request();然后继续执行php脚本。

我只需要看示例代码,我不够聪明,无法自己解决它。


阅读 368

收藏
2020-05-29

共1个答案

一尘不染

我了解基本上可以调用fastcgi_finish_request();然后继续执行PHP脚本。

是的,这就是您要做的。

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

为了说服自己,它可以正常工作,请执行以下操作:

echo "Test";
fastcgi_finish_request();
sleep(10);

如果删除第二行,则会看到浏览器必须等待10秒钟。

2020-05-29