レポートWebサイトのテーブルでDataTables Server Side処理を使用しています。また、PHPExcelを使用してレポートをExcelにエクスポートしています。私のPHPスクリプトは、ブラウザの細かい作業に表示するためのテーブルを作成するために、私は仕事にPHPExcelスクリプトを取得しようとすると、私のようなメモリエラーの出る:私はそれがerroringだことがわかります他にもPHPスクリプトがサーバーで処理されないのはなぜですか?
私はレポートクライアント側を処理しようとしていたときと同じ場所に、同じエラーが表示されます。だからこそ私はサーバー上でそれをしようとしている。私は周りを探索したが、私はこのような状況については何も見ていない。
私は何を試すことができますか?
EDIT
512へのIまでのメモリが、私は同じエラーを取得しますが、別の場所で:
EDIT 2
これではありません下記の質問の繰り返し。私のサーバには必要なメモリがあり、ブラウザにデータを提示するときにそれが使用されていることがわかります。私がこの問題を抱えているのと同じデータをPHPExcelファイルに送ったときだけです。セルキャッシングで何かを試してみると言われましたが、PHPExcelに関して何があるのか分かりません。これを初めて試してみました。私は12,000+の代わりに11に送られる行の数を減らそうと試みてきましたが、まだエラーが出ます。
UPDATE
私は、私はこの問題は非常にテストした後、今あるもののいくつかを知っていると思います。
ブラウザの画面を埋める最初のドローは、画面に必要なものを取り戻すだけです.25から150に始まります。エクスポートしようとしているときに、すべてをプルしようとしています。私が現在持っている最大のレポートは、65000+の行と35の列ですが、私は大きなものを持っています。メモリリミットをini_set('memory_limit', '-1');
に更新し、必要なものを使用するようにしました。
これで、300秒(5分)後にタイムアウトしました。私はini_set('MAX_EXECUTION_TIME', 10);
でこれを修正しようとしましたが、それは何もしていないようです(私はおそらく、それがセットアップに間違いがあるかもしれません)。
私はPHPExcelライブラリのどのキャッシュメソッドが最も効率的であるかを知る必要があります。私は現在cache_in_memory_gzip
を使っていますが、他の人もテストしています。テストを完了すると、別のアップデートや質問に回答します。
PHPが使用できるメモリを増やします。 – Peon
[php値のメモリリミットの増加]の可能な複製(http://stackoverflow.com/questions/22486805/increasing-php-value-memory-limit) – giorgio
PHPのavailabelメモリを増やすか、PHPExcelの必要性を減らすセルキャッシング –