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

最後のエコーの後、インクルードする前にflush()を試してください。

于 2013-02-22T08:47:49.427 に答える
0

flush()コマンドの直後にメソッドを呼び出すことで、必要なものを取得できると思いechoます。

flush()機能は次のように説明されています-

PHP および PHP が使用しているバックエンド (CGI、Web サーバーなど) の書き込みバッファーをフラッシュします。これは、現在の出力をブラウザーにプッシュしようとしますが、いくつかの注意事項があります。

この関数を使用する場合、いくつかの特別な考慮事項があります。特定の apache モジュールとクライアント側のバッファリングは引き続き適用されますが、現時点ではこれが役立つと確信しています。

于 2013-02-22T08:49:23.593 に答える