Imagick jpeg:size 选项在一台服务器上不起作用,但在另一台服务器上不起作用

Imagick jpeg:size 选项在一台服务器上不起作用,但在另一台服务器上不起作用

不确定是否应该在此处或 stackoverflow 上发布,所以认为这是更安全的选择。我正在使用 Imagick 调整 jpeg 的大小。这是代码的一部分

$prehintSize = (int) $requestedWidth > $requestedHeight ? $requestedWidth : $requestedHeight;
$imgckObj = new Imagick();
$imgckObj->setOption('jpeg:size', $prehintSize . 'x' . $prehintSize);
$imgckObj->readImage($sourceFilePath);

基本上$imgckObj->setOption('jpeg:size', $prehintSize . 'x' . $prehintSize);是用来提示 libjpeg 需要将多少文件加载到 RAM 中,从而将性能提升近 10 倍。这在运行 Ubuntu 的服务器上效果很好,PHP 在 Apache 下运行。在我的另一台运行 CentOS 的服务器上,PHP 通过 suPHP 运行,虽然代码仍然有效,但显然被忽略了,因为它根本没有加速。我想知道这是否是由于 suPHP 而无法解决的限制,或者我只需要配置其他东西。

我认为它已经拥有了它,但万一这可能是问题的一部分,我在 centos 上运行的是 ImageMagick 6.5.4-7,因为这是 yum 可以提取的最新版本。对于 Ubuntu,我运行的是 ImageMagick 6.6.9-7 感谢您的帮助。

答案1

看起来问题出在 Imagemagick 的版本上。查看更改日志 imagemagick.org/script/changelog.php 6.5.6-2 添加了所需的参数。

我使用下列说明从源代码编译更新了 Imagemagick:http://equella.custhelp.com/app/answers/detail/a_id/10272 它确实安装到了 /usr/bin/local,因此您可能需要创建到 /usr/bin 的符号链接才能使其工作。现在我的性能再次得到提升 :)

相关内容