1

サーバーで一度に多くの画像を圧縮しようとしています。圧縮ファイルのサイズは 250MB から 750MB の範囲です。私は pclzip ライブラリを使用しています。

共有ホスティングを使用しているため、最大実行時間とメモリ制限が制限されています。どうすればこの問題を解決できますか? または代替ソリューションについて教えてください。

ありがとう

4

1 に答える 1

1

スクリプト内で使用set_time_limit ( int $seconds )してみましたか?

擬似コードですみませんが、このようなもの

initialise the zip class

foreach ( files in the directory as $idx => $name) {
    add $name to the zip file;

    // every 10 files zipped, reset the max_execution_time
    if ( $idx > 0 && $idx % 10 == 0 ) {
        set_time_limit ( 30 );
    }
}

これにより、圧縮する 10 個のファイルごとに max_execution_time が 30 秒にリセットされ続けます。

10 は少し小さい数かもしれませんが、お分かりいただけると思います。

または、max_execution_time をこのように 0 に設定してみてください。このスクリプトの先頭で 1 回だけです。

set_time_limit( 0 );
于 2014-11-06T13:34:23.600 に答える