0

データベース データを使用して Excel ファイルを生成する PHP アプリケーションを作成しました。よく知られているライブラリPHPExcelを使用しています。このライブラリを扱ったことのある人なら誰でも、メモリ管理がこのライブラリの最悪の点であることを知っています。

それで、私の質問は、Excel を作成してからダウンさせるまでメモリを増やしても大丈夫ですか?

何かのようなもの、

error_reporting(1);
ini_set('memory_limit', '500M');
@set_time_limit(0);

一度終了

error_reporting(1);
ini_set('memory_limit', '128M');
@set_time_limit(0);
4

3 に答える 3

5

元に戻す必要はありません。ini_setサーバー全体ではなく、現在のリクエストにのみ影響します。リクエストが完了すると、暗黙的にサーバーのデフォルトに戻されます。

于 2012-09-07T06:36:19.397 に答える
0

それを機能させる唯一の方法はおそらくそれです。

他の応答とは異なり、メモリ制限を下げる必要がある場合があります。多くの同時リクエストの場合、すべてのメモリをより速く使い果たします(ただし、ほとんどの場合、目立たなくなります)。

つまり、それはちょうど良い習慣です-時にはすべてのバイトが重要です。

ちなみに、2番目error_reportingと2番目set_time_limitは何もしません。

$reporting = error_reporting(E_ERROR);
// some code
error_reporting($reporting);

たぶんあなたはこのようなものですか?

于 2012-09-07T06:34:02.580 に答える
0

これは問題ありませんが、必要以上に高く設定しないでください。PHPExcelが生成できる行/列の数に制限を設定してから、その制限でシステムのメモリ使用量をテストする必要があります。

@duskwuffが言ったように、ini_setを2回実行する必要はありません。システム構成が何であれ、それ自体が元に戻ります。

于 2012-09-07T06:38:55.027 に答える