Мой PHP-код использует queryFontMetrics, и в конце выполнения он не освобождает память. И после нескольких выполнений память сервера заполнена, и мне приходится перезапускать Apache, чтобы освободить память.
Я создал небольшой код для проверки:
Код: Выделить всё
gc_enable();
$draw = new ImagickDraw();
$draw -> setFont($fontFile);
$draw -> setFontSize($fontSize);
$imagick = new Imagick();
$bbox = $imagick -> queryFontMetrics($draw,$text);
$draw->clear();
$draw->destroy();
$imagick->clear();
$imagick->destroy();
unset($draw,$imagick);
gc_collect_cycles();
return $bbox;
Когда я запускаю этот код в командной строке php, проблем нет, память полностью освобождается.
Но когда я запускаю его с помощью Apache, он не освобождает память.
Я тестировал этот код на сервере Debian 12 с php 8.2, apache2 2.4.59, Imagick 3.7.0 и ImageMagick 6.9.11-60.< /p>
Я что-то делаю не так?
Спасибо за помощь!
Подробнее здесь: https://stackoverflow.com/questions/787 ... om-imagick