質問: 長い操作で定期的にブラウザに出力 私は11Mのレコードをインポートするために `LOAD DATA INFILE` を使用していますが、スクリプトは他の操作を続けます。インポートには10分かかり、ブラウザがあきらめてから(3分後)、それ以降の操作の進行状況は表示されません。この時間がかかるクエリが実行されている間、ブラウザに何かを定期的に出力する方法はありますか? Phpmyadminはこのようなことをしているようで、ブラウザはタイムアウトしません。
回答: flush()をチェックしてください( http://php.net/manual/en/function.flush .php )またはob_flush()( http:// www .php.net/manual/en/function.ob-flush.php )。 基本的には、出力(この場合は現在のステータス)を生成し、次にサーバが現在バッファにあるものを出力するように強制します。 操作に10分かかる場合は、set_time_limit($ seconds)を使用する必要があります( http://php.net/manual/en/function.set-time-limit.php )、ページがハングアップした場合に備えて大量に設定しないように注意してください。 ステータスを10%(1分)ごとに出力する場合は、各更新がフラッシュされた後に2分のタイムアウトをリセットすることができます。このようにして、期待される時間を超えて実行されると、スクリプトはタイムアウトします。