MAMP PRO 和 imagick 'ImagickException' 以及消息 'FailedToExecuteCommand'
MAMP PRO and imagick 'ImagickException' with message 'FailedToExecuteCommand'
我真的很惊讶这个问题还没有得到回答。所以,这是我的问题。我正在尝试在 MAMP PRO 3.2.1
下使用 imagick 打开 PDF
我已经设置了一个本地服务器,并在其中放入了以下代码:
<?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!";
?>
我没有收到响应 "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/
文件夹中。除了撕掉我的头发,我什么都做了。如果您能提供任何信息,请提供。
我写信给 MAMP Pro 开发人员,这是他们的回复:
Hi,
Sorry for the delay. You need to install xQuartz. Follow the link here
我没有在任何地方看到这个记录,所以我用这个答案更新我的问题。
他们为延迟道歉,因为我在他们部署 MAMP PRO 3.4 时向他们寻求帮助。
我真的很惊讶这个问题还没有得到回答。所以,这是我的问题。我正在尝试在 MAMP PRO 3.2.1
下使用 imagick 打开 PDF我已经设置了一个本地服务器,并在其中放入了以下代码:
<?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!";
?>
我没有收到响应 "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/
文件夹中。除了撕掉我的头发,我什么都做了。如果您能提供任何信息,请提供。
我写信给 MAMP Pro 开发人员,这是他们的回复:
Hi,
Sorry for the delay. You need to install xQuartz. Follow the link here
我没有在任何地方看到这个记录,所以我用这个答案更新我的问题。
他们为延迟道歉,因为我在他们部署 MAMP PRO 3.4 时向他们寻求帮助。