Я новичок в использовании командной строки и php. При этом я пытался выяснить, как использовать ImageMagick с помощью функции exec(). У меня есть это сейчас,
$command="/usr/local/lib/ImageMagick convert images/a.pdf images/a.png";
if(exec($command)){
echo 'yes';
}
else{
echo 'no';
}
Что возвращает "нет". Я считаю, что мне не хватает чего-то о том, как выполнить преобразование из правильного каталога. Правильно ли настроена моя команда? (Мне дали путь к ImageMagick с моего веб-хоста, Lunarpages).
Я прочитал некоторые другие вопросы, касающиеся ImageMagick, но я не нашел много, чтобы помочь мне настроить мою команду.
Спасибо за любую помощь,
Леви
В настоящее время ваша команда пытается выполнить программу с именем /usr/local/lib/ImageMagick, которую я предполагаю, это не то, что вы намеревались. Если это путь к ImageMagick и вы хотите использовать утилиту преобразования, вам нужно изменить свою команду на следующее:
/usr/local/lib/ImageMagick/convert images/a.pdf images/a.png
В этот момент он должен работать без проблем! Возможно, вам захочется еще раз поработать над тем, что может сделать команда convert!
используйте exec() правильно, так как ваш exec возвращает строку по умолчанию, а результаты выполнения передаются по одному из следующих параметров:
$command="/usr/local/lib/ImageMagick/convert images/a.pdf images/a.png";
exec($command,$output,$result);
if ($result == true ){
echo 'yes';
}
else{
echo 'no, here what happened with command output';
print_r($output);
}
обратитесь к http://php.net/manual/en/function.exec.php
echo getcwd();
Команда для отображения текущего рабочего каталога. Возможно, когдаexec()
запускает рабочий каталог не так, как ожидалось (чуть вышеimages
).