私のウェブサイト(drupalで実行中)には、ob_flush
関数が実行されるまでに長時間(10〜100秒)かかることがあります。理由を知るにはどうすればいいですか?何が原因でこれほど長い時間がかかるのでしょうか?ページの先頭に ob_flushの実行に時間がかかります
10
A
答えて
0
使用
<?ob_start();?>
とページの最後に
<?ob_flush();?>
は、この問題を解決します。
0
SET php.iniの
2
で
output_buffering = Off
はこれを試してみてください:
ob_start();
//Your code to generate the output
$result = ob_get_contents(); //save the contents of output buffer to a string
ob_end_clean();
echo $result;
それは私のために迅速に実行されます。
0
[あなたが質問をDrupalに付ける場合は、Drupalの問題のように思えるかもしれません。具体的には、バッファをフラッシュすると外側のバッファに書き込むことになり、書き込んだデータをフィルタリングするために呼び出されるたくさんのフックがトリガされます。]
あなたの問題はネストされたバッファ。 Drupalは実際にはバッファを好きで、その場全体をバッファします。結果確認:それはちょうどバッファリングの次の最外層にあなたの内部バッファの内容を追加します:
echo "<pre>\nBuffering level: ";
. ob_get_level() .
. "\nBuffer status:\n"
. var_dump(ob_get_status(TRUE))
. "\n</pre>";
あなたが持っている場合は、ネストされたバッファを、私はob_flush()は、あなたのために何もしないだろうと思います。
ネストされたバッファは、Drupal自体(上で示したもの)、またはzlib-output-compressionとoutput_bufferingの設定から来ている可能性があります。
あなたのバッファがネストされていない、と上記の設定が助けていない場合、あなたはまたの部分に操作を分割し、そこにプロファイラを実行して、時間がかかっているどの部分を参照したい場合があります。
$data = ob_get_contents(); // Return the contents of the output buffer.
ob_clean(); // Clean (erase) the output buffer.
ob_end(); // Close the buffer.
echo($data); // Output our data - only works if there's no outer buffer!
ob_start(); // Start our buffer again.
しかし、質問は「あなたは何を達成しようとしていますか?」となります。 ob_flush()がここで何をしていると思いますか?答えが「これまでに行ったことのすべてをブラウザにプッシュしたい」場合は、ob_flush()が正しい方法ではないことが恐れられます。
関連する問題
- 1. このストアドプロシージャは実行に時間がかかりますか?
- 2. IPhone IOS:PHPスクリプトの実行に時間がかかりますか?
- 3. ExcelのOracleクエリー実行に時間がかかります
- 4. Sendmail()の実行に時間がかかります
- 5. SQLの実行に時間がかかります
- 6. Javaデスクトップアプリケーションの実行に時間がかかります
- 7. シンプルセレクトの実行に時間がかかります
- 8. Wordpress MySQLクエリの実行に時間がかかります
- 9. プログラムの実行に時間がかかります
- 10. SQLスクリプトの実行に時間がかかります
- 11. クエリの実行に時間がかかります
- 12. Access 2010 SQLサブクエリの実行に時間がかかります
- 13. mysqlクエリの実行に時間がかかります
- 14. ストアドプロシージャの実行に時間がかかります
- 15. LINQPadは実行に時間がかかりますか?
- 16. np.dot実行に非常に時間がかかります
- 17. Golang - go実行に時間がかかります
- 18. クエリ実行に時間がかかります
- 19. readOGR {rgdal}実行に時間がかかります
- 20. 再帰関数の実行時間がかかります
- 21. アクターメソッドの実行時間には制限がありますか?
- 22. なぜpopToRootViewContollerがフリーズしたり、実行に時間がかかりますか?
- 23. スパークUdfを実行する時間がかかります
- 24. SQL結合のどのテーブルが実行に時間がかかりますか?
- 25. SQL INNERの実行に時間がかかりすぎる
- 26. Play Frameworkの実行に時間がかかりすぎて
- 27. Androidエミュレータがアプリケーションを実行するのに時間がかかります
- 28. JavaScriptスクリプトの実行時間が長すぎます。スクリプトの取得に時間がかかりすぎる
- 29. ハイブクエリ実行に時間がかかりすぎて
- 30. なぜこのMATLABスクリプトは実行に時間がかかりますか?
この機能によってアプリケーションがフリーズすると思いますか? – ualinker
@ualinker私がアップロードした画像をご覧ください – user16948
'ob_start()'と 'ob_flush()'コンテキストでコードを貼り付けてもらえますか? – ualinker