从php exec调用ansi2html.sh会在OSX上出现gawk错误

时间:2015-01-06 10:40:10

标签: php macos bash pipe gawk

我试图从php网页上显示的命令行实用程序获取格式化的彩色输出。

我正在使用http://www.pixelbeat.org/scripts/ansi2html.sh

中的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视为我的一条路径。

2 个答案:

答案 0 :(得分:1)

我不熟悉OSX,但我认为您必须将gawk文件夹添加到您的环境变量PATH中 另外,如果你可以启动gawk,如果你的bash工作正常,请直接检查你的bash,所以重启你的Apache服务器

希望有所帮助:)

答案 1 :(得分:1)

回答PHP exec $PATH variable missing elements应该给出为php调用设置正确的$ PATH的提示。作为快速修复,您可以编辑ansi2html.sh脚本以直接引用/ usr / local / bin / gawk