教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 网站编程 > PHP教程 >

php使用fastcgi_finish_request的作用 提高用户体验

时间:2012-12-07 13:33来源:未知 作者:ken 点击:

当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法。

不错的提速函数方法,针对页面生成完成后的任务执行可使用此方法。

例子:

<?php
echo '页面生成内容';
fastcgi_finish_request();
echo '看不到的生成内容,因为页面生成早已结束';
file_put_contents('test.txt', '页面虽已结束,但是任务仍旧正常继续运行');
?>

通过浏览器访问此PHP,由结果可说明在调用fastcgi_finish_request后,客户端响应就已经结束,但与此同时PHP剩余脚本代码却继续运行至最后。

合理利用这个特性可以大大提升用户体验及性能:站长教学网 eduyo.com

<?php
echo '给用户看的内容';
file_put_contents('test.txt', "页面生成完毕", FILE_APPEND);
fastcgi_finish_request();
sleep(5);
file_put_contents('test.txt', "任务A执行\n", FILE_APPEND);
sleep(5);
file_put_contents('test.txt', "任务B执行\n", FILE_APPEND);
?>

如预期,浏览时页面没有被堵塞,显示“给用户看的内容”并生成一条LOG记录后,请求就结束了。
而剩余的任务A 和 B,却依旧照常执行。

(责任编辑:ken)
TAG标签: php 函数
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容