当PHP运行在FastCGI模式下,可以使用fastcgi_finish_request()方法,提高页面响应速度。
代码如下:
<?php
echo '111';
if (!function_exists("fastcgi_finish_request")) {
function fastcgi_finish_request() {
}
}
fastcgi_finish_request();
// 执行一些耗时操作
$i = 10;
while ($i > 0) {
file_put_contents('./txt.log', $i . PHP_EOL, FILE_APPEND);
sleep(1);
$i--;
}
通过浏览器访问此脚本,发现字符串正常输出,也生成了相应的文件。由此说明在调用fastcgi_finish_request后,客户端响应就已经结束,但服务端脚本却仍在继续运行!
本文转至:laruence的博客