1

让我们想象一下这样的情况:

<?php
session_start();
someFunction();
?>

<html>
<head>The headers...</head>
<body>Loooooots of content</body>
</html>

<?
executeSomething();
?>

如果与客户端的连接很慢,而且HTML部分很大,所以传输需要很长时间,那么第二个PHP块是否executeSomething();会挂起,直到HTML传输完全?

4

1 回答 1

1

不会。PHP 处理器将执行 HTML 文件的所有 php 部分,只有在他完成后才会开始向用户发送完整的 HTML 数据。

但是,如果您愿意,可以在 PHP 处理器仍在使用ob_flush()处理 PHP 时发送一些 HTML 数据。然后您的脚本将运行,直到达到时间限制

要使用ob_flush()你必须先初始化它:ob_start()。然后,您可以使用所需的功能将缓冲的数据发送给用户ob_

于 2013-08-19T13:27:34.213 回答