0

PHP + MySQL を使用しています。40000 アイテムの 20 MB を Insert タスクで毎日 1 つのデータ ウェアハウス テーブルに挿入しています。PHP スクリプト (タスク ティッカーのようなもの) で即時の sql タスクを表示する必要がありますが、すべての「エコー」は PHP スクリプトが終了した後にのみ書き込まれます。

AJAX を使わなくても可能ですか?

または、そのための解決策をお勧めできますか?

そのようなものを示す必要があります: INSERT INTO table VALUES (1,2,3);

4

1 に答える 1

0

あなたがする必要があるのは、実行する直前に $query を毎回エコーすることです。

しかし、あなたはすでにそれを試して、直接動作するのを確認できなかったと思います.

これは、リクエスト全体が完了するまで、php または Web サーバーが出力をバッファリングしていることが原因である可能性があります。

バッファリングを防ぐために、次のことを行うことができます。

  • flush()直接エコーする必要があるエコーの後に使用
  • ob_start がなくても PHP が暗黙的なバッファリングを行う可能性があるため、暗黙的なフラッシュを使用ob_start()してオンにしないでください。
  • 圧縮を使用しないでください。

これらのコマンドをいじることができます:

apache_setenv('no-gzip', 1);
ini_set('output_buffering', 0);
ini_set('zlib.output_compression', 0);
ini_set('implicit_flush', 1);
于 2013-05-31T09:52:25.330 に答える