Утечка памяти PHP Imagick

Мне нужно что-то отрендерить с помощью Imagick на PHP CLI. Я заметил, что каждые 3-5 дней память сервера заполняется, поэтому я даже не могу подключиться через ssh или ftp.

С помощью memory_get_usage() я сократил утечку памяти до части скрипта, связанной с imagick. сценарий выглядит примерно так:

$sourceImg = 'source.png';
$destImg = 'dest.png';
$background ='#00ff00';

$im = new Imagick();
$im->pingImage($sourceImg);
$im->readImage($sourceImg); 
$draw = new ImagickDraw();

for($i=1;$i<=5;$i++){
    $draw->setFillColor( $background);
    $draw->rectangle( 10*$i+5, 10, 10*$i+10, 20);
} 

$im->drawImage( $draw );
$im->writeImage( $destImg );
$im->destroy();

unset($im,$draw);

Я уничтожаю ссылку на изображение и сбрасываю объекты imagick и imagickDraw, но сценарий не освобождает память. Метод setFillColor() занимает больше всего памяти

Могу ли я сделать что-то еще, чтобы освободить пространство, используемое imageick?

изображение потребления памяти

9
задан Slemgrim 3 April 2012 в 12:17
поделиться