Динамическое выделение памяти php - PullRequest
0 голосов
/ 19 апреля 2019

Я использую библиотеку ImageMagick для сценария сжатия изображений, который я пишу.Так как он должен обрабатывать много изображений в отдельных папках, у меня возникли проблемы с выделением памяти.

Есть ли способ выделить больше памяти, если для обработки изображений не хватает предела памяти по умолчанию?

Примечание: Я не хочу устанавливать лимит до запуска скрипта.

1 Ответ

0 голосов
/ 20 апреля 2019

Я нашел сырое решение, которое, кажется, хорошо работает. После изучения руководства по php я написал этот код, чтобы выполнить задачу динамического распределения памяти. Вот код:

NB. Фрагмент функции memInfo взят из комментария на странице руководства php о memory_get_usage() странице

<?php 

if( memInfo(memory_get_usage(true)) > '128MB' ){
    ini_set('memory_limit', '256M');
}

function memInfo( int $size ){
    $unit = ['B','KB','MB','GB','TB','PB'];
    return @round( $size / pow(1024, ($i = floor(log($size,1024)))),2).$unit[$i];
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...