php – 与Imagick以及phmagick的问题:Postscript委托失败/没有这样的文件或目录

前端之家收集整理的这篇文章主要介绍了php – 与Imagick以及phmagick的问题:Postscript委托失败/没有这样的文件或目录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用imagick 3.0.1和phmagick(http://www.francodacosta.com/phMagick/download).无论如何,当我尝试将PDF转换为JPEG时,两者都给我同样的错误.

例如:
Postscript委托失败了`/ tmp / magick-bfxIrUJ5’:没有这样的文件或目录@ error / pdf.c / ReadPDFImage / 669

我正在使用Ghostcript-9.05(在/usr/local / bin / gs上运行).
还有ImageMagick-6.7.6-8(在/usr/local / bin / convert上运行).

我已经检查了文件夹的权限(755). ImageMagick在Terminal工作得很好.

例如,我的PHP使用Imagick:

//use imagick
$im = new imagick( '/pdf/553571072.pdf' );

// convert to jpg
$im->setImageColorspace(255);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setImageFormat('jpeg');

//write image on server
$im->writeImage('/jpg/553571072.jpg');

顺便说一下,Imagick它出现在我的PHPinfo()中.我正在使用linux / apache / amd64.

任何建议将受到高度赞赏!

好吧,这要归功于Nuno Franco da Costa( http://www.francodacosta.com/)的帮助.

问题是我的GhostScript路径对于Shell来说是好的,但它对系统和PHP来说是错误的.要更正您应将/usr/local / bin / gs文件链接到/usr/bin/gs.

从Shell执行以下操作:

[root@din ~]# convert -list configure | grep -i delegates
DELEGATES     bzlib fontconfig freetype jpeg jng png tiff x11 xml zlib

检查/usr/bin中是否已存在gs文件.如果是,我们将创建它的备份.
如果没有/usr/bin/gs,您可以跳过此步骤

[root@din ~]# ls -l /usr/bin/gs
-rwxr-xr-x 1 root root 6024 Sep 30  2010 /usr/bin/gs
[root@din ~]# mv /usr/bin/gs /usr/bin/gs.orig

现在创建从/usr/local / bin / gs到/usr/bin/gs的链接

[root@din ~]# sudo ln -s /usr/local/bin/gs /usr/bin

那应该可以解决问题.非常感谢你们.

猜你在找的PHP相关文章