當PHP運行在FastCGI模式時,PHP FPM提供了一個名爲fastcgi_finish_request的方法.按照文檔上的說法,此方法能夠提升請求的處理速度,若是有些處理能夠在頁面生成完後再進行,就能夠使用這個方法.
聽起來可能有些茫然,咱們經過幾個例子來講明一下:
php
<?php echo '例子:'; fastcgi_finish_request(); /* 響應完成, 關閉鏈接 */ /* 記錄日誌 */ file_put_contents('log.txt', '生存仍是毀滅,這是個問題.'); ?>
<?php 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); ?>
if (!function_exists("fastcgi_finish_request")) { function fastcgi_finish_request() { } }不會形成代碼部署在非fpm環境下形成問題.