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 — Sets the limit for a particular resource
This method is used to modify the resource limits of the underlying ImageMagick library.
type
Refer to the list of resourcetype constants.
limit
One of the resourcetype constants. The unit depends on the type of the resource being limited.
成功时返回 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_LIMIT
imagick::RESOURCETYPE_DISK (integer) //equivalent of MAGICK_DISK_LIMIT
imagick::RESOURCETYPE_FILE (integer) //equivalent of MAGICK_FILE_LIMIT
imagick::RESOURCETYPE_MAP (integer) //equivalent of MAGICK_MAP_LIMIT
imagick::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.c
https://github.com/Imagick/imagick/blob/master/ChangeLog
Added in 3.3:
* Imagick::RESOURCETYPE_TIME
* Imagick::RESOURCETYPE_THROTTLE
Added 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.