首先,我将ImageMagick与Imagick PHP5扩展程序结合使用了一段时间,没有任何问题,直到我不小心删除了GhostScript。从那时起,我试图让它再次恢复工作无济于事。
重新安装后,ImageMagick可以将PDF转换为JPEG。但是,当我运行gs
时,我无法在DELEGATE列表中找到convert -list configure
。我仍然运行convert sample.pdf[1] sample.jpg
时效果很好。但是,当我通过sudo apt-get install php5-imagick
重新安装php5-imagick扩展时,当我尝试将PDF转换为图像时,它会抛出错误。
Fatal error: Uncaught exception 'ImagickException' with message 'no decode delegate for this image format
上传/指南.pdf' @ error / construct.c / ReadImage / 533。
以下代码抛出了它:
<?php
//header("Content-type: image/jpeg");
$img = new imagick("upload/guide.pdf[1]");
$img->setImageFormat("jpg");
echo $img;
?>
我无法看到问题所在,因为ImageMagick本身工作正常我认为它的Imagick并不能与ImageMagick很好地互动。
答案 0 :(得分:1)
我通过不通过Ubuntu存储库安装Imagick解决了这个问题。当我运行sudo apt-get autoremove php5-imagick
并尝试通过pecl安装它时,它抛出一个错误并说已经安装了Imagick(这很奇怪,因为我卸载了它并重新启动了apache)。
所以我通过sudo pecl uninstall imagick
卸载它,然后使用sudo pecl install imagick
重新安装它,然后将extension=imagick.so
添加到php.ini,然后重新启动apache。现在一切都恢复了。希望这可以帮助有同样问题的人。