gpt4 book ai didi

php - 使用 exec 调整图像大小并在 PHP 中转换

转载 作者:行者123 更新时间:2023-12-04 05:34:55 26 4
gpt4 key购买 nike

我正在尝试通过以下方式在 PHP 中转换 png 图像:

exec($cmd, $output, $return_code);

其中 $cmd 包含以下代码行:
/usr/bin/convert 'images/original/Id1741.png' -thumbnail x200 -quality '90' './cache/a3b84c5931d9619d12a9e244a310cb17_h200.png'

在命令行上调用此代码工作正常,但在网络服务器上执行它会给我以下错误消息:
Tried to execute : convert 'images/original/Id1741.png' -thumbnail x200 -quality '90' './cache/a3b84c5931d9619d12a9e244a310cb17_h200.png', return code: 1, output: Array()

如果我删除缩略图选项,该命令在网络服务器上执行得很好,但显然它不会调整任何大小。所以我猜这不是权限或设置的问题。

PHP 版本是 5.2.17 .
ImageMagick 版本是: 6.6.0-4 2012-04-26
任何人都遇到过类似的问题,可以帮我解决这个问题吗?

最佳答案

好的,我终于把它修好了。将 stderr 重定向到文件后,我发现以下错误:

libgomp: Thread creation failed: Resource temporarily unavailable

似乎我的主机 1&1 最近升级了 ImageMagick 版本,它显然比旧版本使用了更多的内存(至少主机是这么说的)。
他们建议限制 ImageMagick 创建的线程数:
putenv('MAGICK_THREAD_LIMIT=1');

我将此代码放入我的 init-script 中,现在它工作得很好!

关于php - 使用 exec 调整图像大小并在 PHP 中转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12091263/

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