gpt4 book ai didi

php - ImageMagick 缓存资源耗尽

转载 作者:行者123 更新时间:2023-12-02 16:08:48 25 4
gpt4 key购买 nike

我使用 PHP 和 Imagick 扩展来调整照片大小(大约 5000x7000):

$img = new Imagick($fn);
$img->thumbnailImage($width, 0);

它适用于 $width 是 800, 900 ... 1300,但它在 1400 和 1600 时崩溃:缓存资源耗尽/app/photo.jpg'@error/cache.c/OpenPixelCache/4083

我假设它取决于宽度和结果图像的大小。谷歌搜索错误文本证实了我的猜测。他们建议增加 ImageMagick 配置中的内存限制。

但是!我尝试创建宽度为 2000 的图像并且它工作正常!

1400、1600、1800 - 失败。1900、2000、2100... - 成功。

我迷路了。

最佳答案

增加 ImageMagick 可能使用的资源量。您可以通过编辑 policy.xml 文件来控制 ImageMagick 可以使用的资源数量。参见 the documentation关于安全政策。

在我的 (Debian Linux) 系统上,配置位于 /etc/ImageMagick-6/policy.xml。参见 here适用于各种操作系统上的不同位置。

我将以下设置更改为 2GiB 以消除错误,您可能需要不同的设置,具体取决于您的需要和系统资源。查看文档。

<policy domain="resource" name="memory" value="2GiB"/>
<policy domain="resource" name="map" value="2GiB"/>

关于php - ImageMagick 缓存资源耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68604202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com