Я пытаюсь получить отформатированный цветной вывод из утилиты командной строки, представленной на веб-странице php.
Я использую ansi2html.sh из http://www.pixelbeat.org/scripts/ansi2html.sh
Это работает нормально, если я запускаю ту же команду из командной строки. Я на OSX.
Я запускаю команду:
exec ("vendor/bin/phinx migrate -e development | ../../phinx_upgrades/ansi2html.sh 2>&1", $phinx_output, $phinx_return);
Я получаю вывод:
../../phinx_upgrades/ansi2html.sh: line 38: gawk: command not found
Итак, я предполагаю, что он запускает скрипт, но не может найти gawk. я сделал brew install gawk
но это уже установлено.
Я могу запустить gawk из командной строки, gawk --version
дает мне GNU Awk 4.1.1, API: 1.1
Если я спрошу which gawk
я получил /usr/local/bin/gawk
Когда я echo $PATH
я вижу /usr/local/bin
как один из моих путей.
Я не знаком с OSX
, но я думаю, что вы должны добавить gawk
папка в вашей переменной среды PATH
Кроме того, проверьте непосредственно на Bash, если вы можете запустить gawk
, если это нормально работает в вашем bash, перезапустите сервер Apache
Надеюсь, это поможет 🙂
Ответ PHP exec $ PATH переменная отсутствует элементы должен дать подсказки для установки правильного $ PATH для вызова php. В качестве быстрого исправления вы можете отредактировать скрипт ansi2html.sh для прямой ссылки на / usr / local / bin / gawk