PHP 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 ответ

Решение

Как мы выяснили в комментариях, проблема лежит в файле конфигурацииwp-cli, + Изменить color:true в color:auto на втором сервере.

Другие вопросы по тегам