6

だから私は自分の個人的な単一の使用のために使い捨てのスクリプトを書いています、そして私はプロセスがどのように進んでいるかを見たいと思っています。基本的に、私は数千のメディアリリースを処理し、それらを新しいCMSに送信しています。

したがって、CMSをハンマーで叩くのではなく、sleep5回のリクエストごとに数秒間スクリプトを作成しています。

スクリプトの実行中にecho、スクリプトがスリープ状態になること、またはWebサービスとの最後のトランザクションが成功したことを通知する内容を確認できるようにしたいと思います。

これはPHPで可能ですか?

ご協力いただきありがとうございます!

イアン

4

4 に答える 4

11

ob_flushバッファ内のデータを送信するために使用します。したがって、いくつかのコマンドを実行し、出力をフラッシュしてから、さらにコマンドを処理する前に少しスリープすることができます。

特に長いスクリプトでは、スクリプトの実行が完了していなくても、PHPがバッファーにあるものを送信し始めているように見えることに気付きました。

デフォルトでは、スクリプト全体の実行が完了するまで、PHPは何もエコーしません。これは、ブラウザが一度に大量のデータを出力しようとしているだけか、どこかでフラッシュする原因となっているものがあります。

于 2010-03-25T04:48:38.723 に答える
3

これがそれをまとめたPHPパッケージです:

https://packagist.org/packages/coderofsalvation/browser-stream

   BrowserStream::enable();
    BrowserStream::put("loading");

    for( $i = 0; $i < 10; $i++ ){
        BrowserStream::put(".");
        sleep(1);
    }
于 2015-08-14T17:34:11.397 に答える
2

フラッシュを使用して他の出力制御機能を確認することはできますが、それらは役に立たない可能性があります。Webサーバーソフトウェアは、関係なく応答をバッファリングする場合があります。

于 2010-03-25T04:50:12.120 に答える
0

フラッシュコマンドhttp://php.net/manual/en/function.flush.phpを調べることをお勧めします

于 2010-03-25T04:46:26.660 に答える