pclzip — обработка большого сжатого файла в переполнении стека

Я пытаюсь сжать много изображений одновременно на моем сервере.
Размер сжатого файла может варьироваться от 250 МБ до 750 МБ.
Я использую библиотеку pclzip.

Я использую виртуальный хостинг, поэтому максимальное время выполнения и ограничение памяти ограничены.
Как я могу решить эту проблему? или, пожалуйста, расскажите мне о любых альтернативных решениях.

Спасибо

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 );
}
}

Это должно сбрасывать max_execution_time на 30 секунд каждые 10 файлов, которые вы заархивировали.

Может быть, 10 немного мал, но вы поняли идею.

В качестве альтернативы вы можете попробовать установить max_execution_time в 0, например, только один раз в верхней части этого скрипта.

set_time_limit( 0 );
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]