チェックこのクラス:https://gist.github.com/2390007
public static function color($text, $foreground, $background = null)
{
if (static::is_windows())
{
return $text;
}
if (! array_key_exists($foreground, static::$foreground_colors))
{
throw new \FuelException('Invalid CLI foreground color: '.$foreground);
}
if ($background !== null and ! array_key_exists($background, static::$background_colors))
{
throw new \FuelException('Invalid CLI background color: '.$background);
}
$string = "\033[".static::$foreground_colors[$foreground]."m";
if ($background !== null)
{
$string .= "\033[".static::$background_colors[$background]."m";
}
$string .= $text."\033[0m";
return $string;
}
ちょっとしたアイデア:おそらく環境変数に関連していると思います。クイックテストでは、 'env> env_a.out && php -r 'システム(" env "); > env_b.out && diff env_a.out env_b.out' – gamen
両方のenvファイルが並べ替えられた後、あなたのテストを試してみましょう。diffは次のようなものです: 'SHLVL = 1対SHLVL = 2' – jeanmonod
それと似ていますか?正直言って驚いています。おそらくあなたの環境に関する詳細を提供することはあなたの質問に役立つでしょうし、あなた自身が最初に色を出力しようとすることで問題を単純化することもできます( 'php -r 'printf("%c [32mGreen%c [0m \ n "、27 、27); '')gitのようなコマンドを呼び出すのではなく、 – gamen