Вызов ansi2html.sh из php exec выдает ошибку gawk в OSX

0

Я пытаюсь получить отформатированный цветной вывод из утилиты командной строки, представленной на веб-странице 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 как один из моих путей.

  • 0
    Что такое одна строка 38? Что произойдет, если вы просто запустите gawk --version
  • 0
    Я получаю: GNU Awk 4.1.1, API: 1.1 плюс объявление GNU
Теги:
macos
pipe
gawk

2 ответа

1

Ответ. PHP exec $. Отсутствующие элементы переменной PATH должны давать подсказки для настройки правильного $ PATH для вызова php. В качестве быстрого исправления вы можете отредактировать скрипт ansi2html.sh для ссылки /usr/local/bin/gawk непосредственно

1

Я не знаком с OSX, но я думаю, что вам нужно добавить папку gawk в переменную среды PATH
Кроме того, проверьте прямо на своем bash, если вы можете запустить gawk, если он отлично работает в вашем bash, поэтому перезапустите сервер Apache

Надеюсь, это поможет :)

  • 0
    Спасибо, я добавил новую информацию на основе ваших предложений.
  • 0
    @ Адамски, ты перезапустил свой сервер Apache?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню