2012-10-17 58 views
1

首先,我将ImageMagick与Imagick PHP5扩展结合使用了一段时间,根本没有任何问题,直到我意外删除了GhostScript。从那以后,我试图让它恢复工作无济于事。Imagick无法将PDF转换为JPEG,但ImageMagick可以

重新安装所有东西后,ImageMagick能够将PDF转换为JPEG。但是,当我运行convert -list configure时,我在DELEGATE列表中找不到gs。仍然当我运行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” @错误/ constitute.c/ReadImage/533.`

它是由下面的代码抛出:

<?php 
//header("Content-type: image/jpeg"); 
$img = new imagick("upload/guide.pdf[1]"); 
$img->setImageFormat("jpg"); 
echo $img; 
?> 

我看不出哪里有问题是,因为ImageMagick本身工作正常,我猜想它是Imagick,不会很好地与ImageMagick交互。

回答

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的。现在一切都恢复正常。希望这会帮助有同样问题的人。

相关问题