开始研究php-fpm, 在php-fpm的官网上发现一些很有用的功能,记录一下
1、支持php脚本执行慢的log记录
; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
;request_slowlog_timeout = 0 ; The log file for slow requests
; Default Value: not set
; Note: slowlog is mandatory if request_slowlog_timeout is set
;slowlog = log/$pool.log.slow
2、提供一些非常有用的函数,特别是
fastcgi_finish_request() // a special function to finish request & flush all data while continuing to do something time-consuming (video converting, stats processing, etc.)
关于该函数,火丁笔记做了记录和实验,鸟哥做了转载和补充,这里整理一下
<?php //代码的可移植性讲的话, 可以在代码中附上如下代码:
if (!function_exists("fastcgi_finish_request")) {
function fastcgi_finish_request() {
}
} echo '例子:';
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 上传视频\n", FILE_APPEND); //结束和客户端的交互,将结果刷出
fastcgi_finish_request(); //服务端继续执行代码
sleep(1);
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 转换格式\n", FILE_APPEND); sleep(1);
file_put_contents('log.txt', date('Y-m-d H:i:s') . " 提取图片\n", FILE_APPEND);
参考:
php-fpm网站 http://php-fpm.org/
火丁笔记 http://huoding.com/2011/04/12/63
鸟哥 http://www.laruence.com/2011/04/13/1991.html