fastcgi_finish_request()用法记录

看了张宴的2011PHP技术高峰论坛演讲ppt,发现fastcgi_finish_request();这函数,顺便了解下其功能特性。

<?php
echo '输出内容给用户';

fastcgi_finish_request();
/* 用户访问完成,不会等待下面的操作。*/
echo '测试内容';
sleep(5); //假设一个耗时的处理过程
file_put_contents('/tmp/logs.txt', '记录日志');
?>

我们会发现页面显示

“输出内容给用户”

而后面的

“测试内容”却没有显示,

但是之后的代码也执行了,因为/tmp/logs.txt也生成了。

由此说明在调用fastcgi_finish_request后,客户端响应就已经结束,但与此同时服务端脚本却继续运行!

合理利用这个特性可以大大提升用户体验。

posted @ 2012-11-27 13:36  黄丁丁  阅读(566)  评论(0编辑  收藏  举报