Назад | Перейти на главную страницу

Скрипт Bash, работающий в командной строке, но не через PHP

Я пытаюсь запустить следующую команду через PHP:

$output = shell_exec('sudo /Users/Derk/Code/automation/psc/pdfs.sh 1');

Это запускает следующий код сценария bash:

sudo /usr/local/bin/pdftk cvcheck_template.pdf fill_form data.fdf output output.pdf flatten    
sudo /usr/local/bin/convert -density 150 -gravity south -geometry +0+150 -composite output.pdf signature.png new_output.pdf

Сценарий bash отлично работает в командной строке, но когда я пытаюсь запустить его через PHP на веб-сервере (MAMP), он не дает мне никаких результатов. Первая команда вроде работает, но вторая мне ничего не дает.

Любая помощь приветствуется.

В конечном итоге это привело к проблеме с разрешениями. Отдельные файлы, затронутые при запуске скриптов Python через веб-браузер, должны иметь доступ на запись в группе www-data.

Моя ошибка заключалась в том, что у них были права на чтение и исполнение, но не на запись. Итак, как только я исправил соответствующие файлы, все заработало прекрасно.

Я также использовал sudo -u www-data command для тестирования файлов PHP без необходимости проверять их через браузер. Это сделало тестирование намного быстрее.