在Windows中使用PHP ImageMagick而不是在Centos中调整上载图像大小时出错

时间:2016-10-09 08:58:55

标签: imagemagick

我尝试使用PHP ImageMagick类调整上传图片的大小。我在开发计算机(Windows 10)中使用exec PHP函数成功调整了图像上传大小:

$tmpFile = $_FILES["upload"]["tmp_name"];
$move_uploadFile = $upload_path . $_FILES["upload"]['name'];
exec("magick $tmpFile -thumbnail 800x $move_uploadFile");

问题是我的生产机器的配置(Centos 7)不允许使用exec功能。因此,我使用下面的代码:

try {
    $im = new Imagick($tmpFile);
}
catch(Exception $e) {
    die($e->getMessage());
}

$im->thumbnailImage(800, null);
$im->writeImage($move_uploadFile);

我收到此错误消息:

Error when creating a thumbnail: NoDecodeDelegateForThisImageFormat `JPEG' @ error/constitute.c/ReadImage/501

据我所知,这种错误是因为图像类型委托库不可用,但是当使用exec函数成功调整图像大小时,我认为情况并非如此。

编辑:我在我的生产机器上运行了这个代码,它工作正常!我很高兴,但我无法理解为什么在我的Windows机器上代码不起作用,但它适用于Centos 7.

任何人都知道为什么它不能在Windows工作但在Centos上工作的问题是什么?

0 个答案:

没有答案