编程语言
首页 > 编程语言> > PHP-增加Imagicks最大分辨率

PHP-增加Imagicks最大分辨率

作者:互联网

我有一个允许客户上载大文件进行打印操作的客户.该网站使用Imagick来处理图像,但是,当尝试设置最大宽度和高度时,它不会超过16000.例如:

// This sets the max width to 20000px
php > Imagick::setResourceLimit(9, 20000);
php > echo $image->getResourceLimit(9);
16000

php > Imagick::setResourceLimit(9, 15000);
php > echo $image->getResourceLimit(9);
15000

这是库的限制,还是我需要配置其他内容?

解决方法:

您需要找到ImageMagick的policy.xml并取消注释,并设置如下所示的行:

<!-- <policy domain="resource" name="memory" value="2GiB"/> -->
<!-- <policy domain="resource" name="width" value="10KP"/> -->
<!-- <policy domain="resource" name="height" value="10KP"/> -->

您应该能够找到具有以下内容的文件:

identify -list configure | grep CONFIGURE_PATH

样本输出

CONFIGURE_PATH /usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/

然后将policy.xml附加到末尾.所以我的是:

/usr/local/Cellar/imagemagick/7.0.8-10/etc/ImageMagick-7/policy.xml

如果由于某种原因而无法通过上述方法找到policy.xml文件,则可以使用以下方法进行长时间(较慢)的搜索:

find  /usr  /opt /  -name policy.xml

标签:imagick,imagemagick,php
来源: https://codeday.me/bug/20191108/2009127.html