鍍金池/ 問答/PHP  網(wǎng)絡安全/ php-fpm下無法主動斷開瀏覽器鏈接,該怎么處理?

php-fpm下無法主動斷開瀏覽器鏈接,該怎么處理?

例如這個腳本,在正常php中可以斷開瀏覽器鏈接,結果肯定是123;但php-fpm下,是無法主動斷開的,456也被輸出了.那么應該如何處理呢?

<?php
var_dump('123');
$_1=ob_get_length(); 
header("Content-Length: $_1");
header("Connection: Close");
ob_flush();
flush();
set_time_limit(0);
var_dump('456');
exit;
回答
編輯回答
神曲

Connection: Close表示當前連接的請求處理完畢后斷掉。不是直接斷開


head有2種
1.request的head是給服務端看的,php通過get_header()獲取
2.response的head是給客戶端看的,php通過header()設置

所以header('Connection: Close');關php-fpm什么事

Connection可能不常用
常用的是header('Location:http://xxxxx.com/');
服務端是沒有跳轉這種行為的,只能通過head告知客戶端我要跳轉。

要注意的是header不代表結束執(zhí)行,所以用header進行跳轉時要使用exit
代碼如下:

header('Location:http://xxxxx.com/');exit;
2017年10月4日 02:10