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