macos — вызов ansi2html.sh из php exec приводит к ошибке gawk в OSX

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

Решение

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

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

1

Другие решения

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

1

По вопросам рекламы [email protected]