1

PDF ファイルに変換する重要な html ファイルがあります。

mpdfを使用して HTML を次のように変換します。

$file_content = file_get_contents($dir . '/' . $filehtml);
$mpdf = new mPDF('', '', 0, 'Helvetica', 15, 15, 50, 25, 8, 8);
$mpdf->useSubstitutions = false;
$mpdf->CSSselectMedia='mpdf';

$mpdf->allow_charset_conversion = true;
$mpdf->charset_in = 'cp1252';
$mpdf->WriteHTML($file_content);
$mpdf->Output($dir . '/' . $filename, 'F');

それはうまくいきます。通常

問題は、私のファイルがかなり重いことです:~17.5Mbなのでfile_get_contentsエラーがスローされます:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 18114800 bytes)

$mpdf->WriteHTML($str);別の解決策を試しました:HTMLファイルを生成する代わりに、 (HTMLファイルの生成に使用される)に入れようとしましたforeach()

問題は、実行時間が 1hour を超えることです。これは絶対に受け入れられませんが、HTML ファイルの生成には約 1.5 秒かかります (js によるとnew Date().getTime();) 。


この種の問題に対するサーバー側のソリューションを持っている人はいますか?

4

2 に答える 2

2

php.ini の変更

memory_limit = 64M ;//maximum allotted size

あなたへのphp.iniアクセスがない場合は、.htaccessを追加してください

php_value memory_limit 64M

またはスクリプトファイルに以下の行を追加します

ini_set('memory_limit', '-1');
于 2013-10-11T12:57:23.840 に答える
0

これを .htaccess ファイルに追加してみてください: php_value memory_limit 128M

于 2013-10-11T12:57:35.447 に答える