使用exec()
function时出现以下错误:
string(25) "/etc/init.d/mast list-log"
array(1) { [0]=> string(44) "tput: No value for $TERM and no -T specified" }
tput: No value for $TERM and no -T specified
我的命令是/etc/init.d/mast list-log
,并且在重新启动之前正在运行。我看不出有什么不同。
public static function execute($_ = null, $debug=true) {
$_ = $debug ? $_." 2>&1" : $_;
exec("$_ | aha --word-wrap --no-header", $output, $exitCode);
return $output;
}
你对如何解决这个问题有什么建议吗?
答案 0 :(得分:1)
在shell中,您可以设置具有以下命令生命周期的环境变量,如下所示:
TERM=screen-256color ls -l --color=always
其中TERM=screen-256color
是环境变量,ls -l --color=always
是命令。
这是我修改过的代码,我只是将TERM=screen-256color
添加到我的命令中:
public static function execute($_ = null, $debug=true) {
$_ = $debug ? $_." 2>&1" : $_;
exec("TERM=screen-256color $_ | aha --word-wrap --no-header", $output, $exitCode);
return $output;
}