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
。
我有一个脚本 运行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
正如我们发现的那样 wp-cli
。在第二台服务器上将 color:true
更改为 color:auto
。