2013-03-18 42 views
11

初めてmpdfライブラリを使用していて、すべて正常に動作しました。 274行のテーブルからなるpdfファイルを作成するためのスクリプトを作成しました。私はスクリプトを実行すると、私はPHPのメモリエラーを取得します。私は別のシナリオを試みたが、私は同じメモリエラーを取得します。このエラーを解決するのを手伝ってください。私は異なるシナリオとその結果の下にリストアップしました。php mpdfメモリ制限エラー

のphp.ini =のmemory_limit = 256M

スクリプト= ini_set( 'のmemory_limit'、 '25M')。

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Allowed memory size of 26214400 bytes exhausted 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14268 

のphp.ini =のmemory_limit = 256M

スクリプト= ini_set( 'のmemory_limit'、 '-1');

Result: 
memory_get_usage() = 12.75 mb 
memory_get_peak_usage() = 12.75 mb 
Fatal error: Out of memory (allocated 1898971136) 
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14265 
+0

'ini_set( 'memory_limit'、-1); var_dump(ini_get( 'memory_limit')); '変更が確定していることを確認します。 –

+0

@Mike Bこれは= string(2) "-1"を出力します – sravis

+0

他の何かがメモリの上限を25に戻しています。 –

答えて

4

テーブルのメモリ使用量は、いくつかのオプションを使用して減らすことができます。 official doc here

+0

Buddy、本当にあなたの回答が必要です。適切な情報を貼り付けますか? –

+1

私は答えを – flm

+0

に更新しました。特に、$ mpdf-> packTableData = true;や$ mpdf-> packTableData = true; ' )、それ以外の場合は、mpdfに含まれているcompress.phpスクリプトを実行します。 – Sablefoste

0

私は同期(< /テーブル>)のタグがメモリの問題(および速度)を引き起こす可能性があることを発見しました。 mPDFに入るHTMLをクリーンアップして解決しました。

0

設定したmemory_limitの値が変更されているかどうかを確認するために、phpinfo()の出力を確認しようとしましたか?その機能をindex.phpファイルの先頭に置き、ini_set('memory_limit', '256M');が有効になっているかどうかを確認してください。

よろしくお願いいたします。