PHP 带彩色输出的直通

PHP passthru with colorized output

我有一个脚本 运行s 其他脚本基于指定的计划或根据命令按需执行。这允许在中央位置管理平凡且耗时的任务,并从总体上简化管理。此设置存在于具有(大部分)相同设置的两台服务器上。

运行的一个下标使用了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

正如我们发现的那样 the problem lays in the config file of wp-cli。在第二台服务器上将 color:true 更改为 color:auto