Я пытаюсь получить отформатированный цветной вывод из утилиты командной строки, представленной на веб-странице 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
как один из моих путей.
Ответ. PHP exec $. Отсутствующие элементы переменной PATH должны давать подсказки для настройки правильного $ PATH для вызова php. В качестве быстрого исправления вы можете отредактировать скрипт ansi2html.sh для ссылки /usr/local/bin/gawk непосредственно
Я не знаком с OSX
, но я думаю, что вам нужно добавить папку gawk
в переменную среды PATH
Кроме того, проверьте прямо на своем bash, если вы можете запустить gawk
, если он отлично работает в вашем bash, поэтому перезапустите сервер Apache
Надеюсь, это поможет :)
gawk --version
GNU Awk 4.1.1, API: 1.1
плюс объявление GNU