是否可能在PHP中,以發送數據現在到客戶端,並繼續PHP處理(可能是阻塞)?現在發送數據到客戶端,並繼續PHP處理
<?php
// some code
echo json_encode(array('ok' => '1')); // the client is waiting for this AJAX answer !!
// how to send the response right now before finishing this PHP file ?
// the output is REALLY finished here, so client, you can work with it
some_blocking_processing(); // this is just some server processing that would
// block the client for ~ 5 seconds
// but it produces no output useful for client
?>
我知道正確的方式可能是使用隊列或其他程序來進行處理。
但只是作爲一個普遍的問題,是否有可能發送數據到客戶端,在一個PHP文件中間?
是的,看看[輸出緩衝](http://php.net/manual/en/book.outcontrol.php) – 2015-03-30 22:18:07
@JohnConde只需在開始時使用'ob_start()'和在'echo'之後使用'ob_flush()'。這就是全部? – Basj 2015-03-30 22:25:29
最簡單的,是的。它可能需要更多的登錄,具體取決於你在做什麼,但這是它的基本要點。 – 2015-03-30 22:26:55