有人可以举一个简单的例子来说明如何使用fastcgi_finish_request()函数吗?我用谷歌搜索,但只发现了一些通用的提法,有人说他们成功使用了它,但是我找不到包含代码的单个示例。
fastcgi_finish_request()
例如,我有一个PHP对象。要将响应发送到浏览器,请生成HTML,然后通过将该HTML返回getResult()。然后回显结果。
getResult()
像这样:
$obj = new controller(); echo $o->getResult();
假设我想利用这种优化技术将结果发送到浏览器,然后完成一些潜在的漫长过程,例如连接到某些API,例如Facebook API。
我将如何去做呢?我了解基本上我可以调用fastcgi_finish_request();然后继续执行php脚本。
fastcgi_finish_request();
我只需要看示例代码,我不够聪明,无法自己解决它。
我了解基本上可以调用fastcgi_finish_request();然后继续执行PHP脚本。
是的,这就是您要做的。
$obj = new controller(); echo $o->getResult(); fastcgi_finish_request(); do_facebook_thing();
为了说服自己,它可以正常工作,请执行以下操作:
echo "Test"; fastcgi_finish_request(); sleep(10);
如果删除第二行,则会看到浏览器必须等待10秒钟。