IMagick::RESOURCETYPE_THREADS is missing, yet you're still able to limit the number of thready ImageMagick should use:<?php// IMagick::setResourceLimit(IMagick::RESOURCETYPE_THREADS, 2);IMagick::setResourceLimit(6, 2);
(PECL imagick 2, PECL imagick 3)
Imagick::setResourceLimit — Устанавливает лимит для конкретного ресурса
Данный метод используется для изменения лимита ресурсов исходной библиотеки ImageMagick.
type
Обратитесь к списку констант RESOURCETYPE.
limit
Одна из констант RESOURCETYPE. Единица измерения зависит от типа ограничиваемого ресурса.
Функция в случае успешной работы возвращает true
.
IMagick::RESOURCETYPE_THREADS is missing, yet you're still able to limit the number of thready ImageMagick should use:<?php// IMagick::setResourceLimit(IMagick::RESOURCETYPE_THREADS, 2);IMagick::setResourceLimit(6, 2);
Note that the limits are given in bytes instead of megabytes. You can verify with:<?php echo Imagick::getResourceLimit(Imagick::RESOURCETYPE_MEMORY); ?>
This list should help setting the limits:imagick::RESOURCETYPE_AREA (integer) //equivalent of MAGICK_AREA_LIMITimagick::RESOURCETYPE_DISK (integer) //equivalent of MAGICK_DISK_LIMITimagick::RESOURCETYPE_FILE (integer) //equivalent of MAGICK_FILE_LIMITimagick::RESOURCETYPE_MAP (integer) //equivalent of MAGICK_MAP_LIMITimagick::RESOURCETYPE_MEMORY (integer) //equivalent of MAGICK_MEMORY_LIMIT
Here are the RESOURCETYPE actually supported by today:https://github.com/Imagick/imagick/blob/master/imagick_helpers.chttps://github.com/Imagick/imagick/blob/master/ChangeLogAdded in 3.3:* Imagick::RESOURCETYPE_TIME* Imagick::RESOURCETYPE_THROTTLEAdded in 3.2:* Imagick::RESOURCETYPE_THREAD
Note that Imagick::setResourceLimit may return success without actually changing the limits (verify with Imagick::getResourceLimit). This is at least true for Imagick::RESOURCETYPE_WIDTH and Imagick::RESOURCETYPE_HEIGHT, where values exceeding the limits defined in policy.xml are silently ignored.