本文介绍了Imagick以及phmagick的问题:Postscript委托失败/没有这样的文件或目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用imagick 3.0.1和phmagick(http://www.francodacosta.com/phMagick/download)。无论如何,当我尝试将PDF转换为JPEG时,两者都给我同样的错误。

I'm using imagick 3.0.1 and also phmagick (http://www.francodacosta.com/phMagick/download). No matter what, both are giving me the same kind of error when I try to convert a PDF to JPEG.

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

我正在使用Ghostcript- 9.05(在/ usr / local / bin / gs上运行)。
另外ImageMagick-6.7.6-8(在/ usr / local / bin / convert上运行)。

I'm using Ghostcript-9.05 (running on /usr/local/bin/gs).Also ImageMagick-6.7.6-8 (running on /usr/local/bin/convert).

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

I already checked folder's permission (755). ImageMagick works wonderful from Terminal.

例如,我的PHP使用Imagick:

For example, my PHP using 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。

By the way Imagick it's showing up in my phpinfo(). I'm working on linux/apache/amd64.

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

Any advice will be highly appreciated!

推荐答案

好的,这要归功于Nuno Franco da Costa的帮助()。

OK, this finally works, thanks to the help of Nuno Franco da Costa (http://www.francodacosta.com/).

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

The problem was that my GhostScript path was OK for the Shell, but it was wrong for the System and PHP. To correct that you should link your /usr/local/bin/gs file to /usr/bin/gs.

从命令行管理程序执行以下操作:

[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 你可以跳过这个步骤

Check to see if a gs file already exists in /usr/bin. If it does, we'll create a backup of it.
If there is no /usr/bin/gs you can skip this step

[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

Now create the link from /usr/local/bin/gs to /usr/bin/gs

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



That should solve the problem. Thanks a lot guys.

这篇关于Imagick以及phmagick的问题:Postscript委托失败/没有这样的文件或目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 14:47