带有彩色输出的PHP passthru

时间:2015-05-18 21:59:27

标签: php bash passthru

我有一个脚本可以根据指定的时间表或按需运行其他脚本,具体取决于命令。这允许在中心位置管理平凡且耗时的任务,并且通常简化管理。此设置存在于两台服务器上,其中(大部分)设置相同。

其中一个运行的下标使用PHP的passthru()函数。结果存储在数据库中供以后查看。

运行passthru()的代码是:

$result = []; passthru(/usr/local/bin/wp plugin delete ' . $plugin . ' --path=' . $path, $result);

从putty命令行运行时,输出类似于:

Success: Deleted 'hello' plugin.

在两台服务器上,Success:为绿色。但是,当通过任务在服务器1上运行时,颜色会被剥离。在服务器2上运行时,ANSI颜色代码保留并记录如下:

[32;1mSuccess:[0m Deleted 'hello' plugin.

我需要从第二个结果中删除颜色代码,但我无法弄清楚CentOS(或php.ini)中的设置。两台服务器之间有一些不同,但我无法弄清楚是什么。

PHP版本:5.6.8 CentOS版本:6.6

1 个答案:

答案 0 :(得分:0)

当我们发现问题in comments时,问题出现在config file of wp-cli中。在第二台服务器上将color:true更改为color:auto