【问题标题】:Increasing Imagicks max resolution增加 imagicks 最大分辨率
【发布时间】:2018-08-29 10:16:13
【问题描述】:

我有一个客户允许客户上传大文件以进行打印操作。该站点使用 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

这是库的限制还是我需要配置其他东西?

【问题讨论】:

标签: php imagemagick imagick


【解决方案1】:

您需要为 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

【讨论】:

  • 谢谢马克。我已经尝试过了,但它返回 Command 'identify' not found 然后建议安装一些 imagemagick 包。但是它肯定已经安装并列在phpinfo() 中。我还运行了apt-cache policy php-imagick,它返回了php-imagick: Installed: 3.4.3-3+ubuntu18.04.1+deb.sury.org+1,所以它已安装,有什么想法吗?
  • 如果您安装了 ImageMagick v7 并且在安装时没有勾选标记为 “安装旧版命令” 的框,则需要ImageMagick 命令的前缀是 magick,所以试试 magick identify ...
  • 或者,您可以通过find /usr /opt / -name policy.xml 找到该文件
  • 找到了!谢谢马克!
猜你喜欢
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 2015-09-23
  • 2022-08-22
  • 1970-01-01
  • 1970-01-01
  • 2013-11-29
相关资源
最近更新 更多