MAMP PRO и imagick 'ImagickException' с сообщением 'FailedToExecuteCommand'

Я действительно удивлен, что на этот вопрос еще нет ответа. Итак, вот моя проблема. Я пытаюсь открыть PDF-файл с помощью Imagick в MAMP PRO 3.2.1

Я установил локальный сервер и поместил в него следующий код:

<?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!";
?>

И вместо того, чтобы получить ответ «Я только что наделал кучу бесполезного дела!» Я получаю следующую ошибку:

Неустранимая ошибка: неперехваченное исключение 'ImagickException' с сообщением 'FailedToExecuteCommand `" / Applications / MAMP / Library / bin / gs "-q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap = 500000000 -dixridlignTo -PixridlignTo -sDEVICE = pngalpha "-dTextAlphaBits = 4 -dGraphicsAlphaBits = 4" -r72x72 "" -sOutputFile = / var / tmp / magick-37204WejycxOWotDX% d "var / var / tmp / magick-37204yFoZNLV" tmp / magick-37204aRp_iZaRakLl "'(-1) @ error / utility.c / SystemCommand / 2051' в /Users/Jason/Code/git/imagick-test/web/imagick.php:11 Трассировка стека: # 0 / Пользователи /Jason/Code/git/imagick-test/web/imagick.php(11): Imagick-> readimage ('projects / 26/556 ...') # 1 {main} добавлено в / Users / Jason / Code / git / imagick-test / web / imagick.php в строке 8

Как ни странно, если я закомментирую строку PDF и раскомментирую строку JPG, код будет работать без проблем.

Теперь я знаю, что ghostscript был установлен вместе с MAMP PRO, поэтому мне не нужно устанавливать это или что-то еще, но я не знаю, почему, как и даже что делать, если он не может прочитать файл в /var/tmp/ когда мой файл находится в папке /Users/Jason/Code/git/imagick-test/web/imagick/. Я сделал все, кроме как вырвал волосы. Если вы можете предоставить какую-либо информацию, пожалуйста.


person Jay V    schedule 26.05.2015    source источник
comment
Что произойдет, если вы выполните / Applications / MAMP / Library / bin / gs самостоятельно или через PHP с помощью exec?   -  person Danack    schedule 28.05.2015
comment
Вы можете уточнить? Я могу запустить GS сам. Однако я не знаю, как выполнить php через Imagick на MAMP PRO.   -  person Jay V    schedule 28.05.2015
comment
Я имею в виду этот php.net/manual/en/function.exec.php exec. Похоже, что, вероятно, по какой-то причине разрешений Imagick / ImageMagick не может запустить эту команду ...   -  person Danack    schedule 28.05.2015
comment
Если это помогает, то файл, на который он ссылается, в папке / var / tmp вообще не существует.   -  person Jay V    schedule 28.05.2015


Ответы (1)


Я написал разработчикам MAMP Pro, и вот их ответ:

Hi,

Извините за задержку. Вам необходимо установить xQuartz. Перейдите по ссылке здесь

https://support.apple.com/en-us/HT201341

http://xquartz.macosforge.org/landing/

Я нигде не вижу этого документированного, поэтому я обновляю свой вопрос этим ответом.

Они извинились за задержку, потому что я попросил их о помощи, когда они развертывали MAMP PRO 3.4.

person Jay V    schedule 21.07.2015