2015-05-26 183 views
0

我真的很惊讶,这个问题还没有得到解答。所以,这是我的问题。我试图打开下MAMP PRO使用imagick一个PDF 3.2.1MAMP PRO和imagick'ImagickException'消息'FailedToExecuteCommand'

我已经建立了一个本地服务器,我把它下面的代码:与

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

$img = new imagick(); 

// $img->readImage("filename.jpg"); 
$img->readImage("filename.pdf"); 

$img->setImageCompression(imagick::COMPRESSION_JPEG); 
$img->setImageCompressionQuality(50); 
$img->stripImage(); 

echo "I've just done a bunch of useless stuff!"; 
?> 

不但得不到响应“我刚刚做了一堆无用的东西!”我得到以下错误:

Fatal error: Uncaught exception 'ImagickException' with message 'FailedToExecuteCommand `"/Applications/MAMP/Library/bin/gs" -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 "-sDEVICE=pngalpha" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" "-sOutputFile=/var/tmp/magick-37204WejycxOWotDX%d" "-f/var/tmp/magick-37204yFoZNLVNVn6B" "-f/var/tmp/magick-37204aRp_iZaRakLl"' (-1) @ error/utility.c/SystemCommand/2051' in /Users/Jason/Code/git/imagick-test/web/imagick.php:11 Stack trace: #0 /Users/Jason/Code/git/imagick-test/web/imagick.php(11): Imagick->readimage('projects/26/556...') #1 {main} thrown in /Users/Jason/Code/git/imagick-test/web/imagick.php on line 8

奇怪的是,如果我注释掉PDF线,并取消对JPG线,代码运行没有任何问题。

现在,我知道ghostscript与MAMP PRO一起安装,所以我不需要安装那个或任何东西,但我不知道为什么,怎么样,甚至不知道该怎么做才能够读取文件在/var/tmp/当我的文件在/Users/Jason/Code/git/imagick-test/web/imagick/文件夹中。我做了一切,但把我的头发掉了。如果你可以提供任何信息,请做。

+0

当你自己执行/ Applications/MAMP/Library/bin/gs,或者通过PHP执行'exec'时会发生什么? – Danack

+0

你能详细说一下吗?我可以自己运行gs。不过,我不知道如何通过MAMP PRO上的imagick来执行它。 –

+0

我的意思是这个http://php.net/manual/en/function.exec.php exec。看起来可能是某些权限原因,Imagick/ImageMagick无法运行该命令...... – Danack

回答