1

我有一个显示结果的脚本,然后我调用一个包含文件以间隔运行。我希望脚本结果显示在浏览器上,然后包含文件将在后面运行。现在我的浏览器正在连接但什么也没有显示。我希望浏览器回显完成并记录。

<?php
ob_implicit_flush(true);
require_once('syslog.php');
$syslog = new Syslog();
$line="My msg";
$hostname = gethostname();
$ip= @$REMOTE_ADDR;
$hostnameip = GetHostByName($ip);
$syslog->Send('127.0.9.1', $hostname." ".$hostnameip." ".$line);
echo"Done";
echo "Logging......";
ob_end_flush();  
include('execute.php');
?>
4

2 回答 2

0

在最后一个回显之后包含之前尝试刷新() 。

于 2013-02-22T08:47:49.427 回答
0

我相信您可以通过在命令flush()后立即调用该方法来获得所需的内容。echo

flush()功能描述为 -

刷新 PHP 的写入缓冲区以及 PHP 正在使用的任何后端(CGI、Web 服务器等)。这试图将当前输出一直推送到浏览器,但有一些警告。

使用此功能时有一些特殊注意事项。某些 apache 模块和客户端缓冲仍将被强制执行,但就目前而言,我相信这会有所帮助。

于 2013-02-22T08:49:23.593 回答