2016-05-04 10 views
0

これはPHP.iniの設定問題かどうか疑問に思っています。大規模なデータセットでは、増分値をエコーすることができないことがわかりました。ob_start()は大きな出力では機能しません

<?php 

ob_start(); 
*SQL query* 
$count++; 

$search_results = ob_get_clean(); 
echo $count; 
echo $search_results; 


?> 

コード自体は機能しますが、大きなデータセットではまったく表示されません。これがキャッシュの問題かどうか疑問に思っていますか?

+0

'ob_get_length()'でテストしましたか? – WillardSolutions

+2

[メモリエラーなしでvar \ _dump +出力バッファリングを使用するにはどうすればよいですか?](http://stackoverflow.com/questions/5446647/how-can-i-use-var-dump-output-buffering-without - メモリエラー)。タイトルは同じではありませんが、目的はです。 – Ohgodwhy

+1

あなたのPHPのmemory_limitとは何ですか?また、データセットの量はどれくらいですか? – circusdei

答えて

0

これはメモリの問題ではなく、php.iniの設定に関連していました。特に、max_execute時間が十分に長くはありませんでした。私はそれをに変更した。

max_execution_time = 600 

解決しました。

+0

興味深い。クエリでデータベースが遅れている場合は、データベースインデックスを使用してクエリの一部を最適化することをお勧めします。最大実行時間を増やすことで、根本的な問題(コードが遅いという問題が解決されないため)が得られます。 – amphetamachine

+0

スクリプトは少し複雑で、デバイスごとに複数のクエリ(1000デバイス)が取得されます。これは、クエリの性質上避けがたいものです。また、私はデータベースにアクセスすることはできません。ロックされたアプライアンスです。 – Kimomaru

関連する問題