imagemagick convert не работает через php - PullRequest
1 голос
/ 20 января 2012

imagemagick convert не работает через php shell_exec, но работает через оболочку.

В оболочке convert file.pdf file.png работает нормально.Но когда у меня это в файле php как shell_exec('convert file.pdf file.png');, то я не получаю вывод!У меня есть разрешения на это, поэтому я думаю, что проблема не в этом;Я проверил каталог, в котором я нахожусь, с помощью getcwd (), и это тоже нормально.

Я знаю, что shell_exec работает, потому что я использовал его ранее в коде, и это прекрасно работает.Есть идеи?

Ответы [ 3 ]

6 голосов
/ 21 января 2012

Я получил решение благодаря Crontab из другого потока.Я цитирую оттуда:

[I], если вы пытаетесь конвертировать PDF в PNG с помощью ImageMagick ... даже при использовании полного пути к ImageMagick convert не будет работать, еслиPATH скрипта также не содержит путь к Ghostscript.Не вмешиваясь ни в какие пользовательские пути, вы можете добавить:

putenv("PATH=/usr/local/bin:/usr/bin:/bin");

или что-то похожее в зависимости от ваших настроек.Исполняемый файл gs должен находиться где-то в пути пользователя вашего скрипта, иначе ImageMagick не сможет конвертировать файлы PDF или EPS.

0 голосов
/ 20 января 2012

Существует несколько причин, по которым это может произойти, но я предлагаю прочитать эту страницу и комментарии пользователей:

http://php.net/manual/en/function.shell-exec.php

0 голосов
/ 20 января 2012

Попробуйте полный путь к convert, то есть shell_exec('/usr/bin/convert file.pdf file.png);.Вы можете использовать which convert, чтобы найти местоположение в вашей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...