Мне нужно использовать команду imagemagick
convert
из php. Поэтому я использую shell_exec
но вывод этого является пустой строкой. Я знаю, что команда convert не печатает anyting в STDOUT, но желаемый вывод convert
также не достигается. также exec
не работает. эти команды выполняются отлично от оболочки или из командной строки php. Что может быть проблемой?
EDIT : добавив 2> & 1, я узнаю, что конвертер бросает ошибку: missing an image filename
/a5d98168a524a331c5e06d60096debd63cbdce1f.jpg '@ error / convert.c / ConvertImageCommand / 2970. where the full command is
конвертирует /var/www/weblog/web/uploads/poster/a5d98168a524a331c5e06d60096debd63cbdce1f.png / var / www / weblog / web / uploads / poster / a5d98168a524a331c5e06d60096debd63cbdce1f.jpg`.
Пользователь, который Apache использует в linux, называется www-data, вы должны убедиться, что у этого пользователя есть разрешение на работу с файлами и командами, которые вы используете. Вы можете использовать chmod для изменения прав доступа к файлам или chown, чтобы изменить владельцев файлов / dir на www-data.