2015-05-18 5 views
1

У меня есть скрипт, который запускает другие скрипты, основанные либо по указанному расписанию, либо по запросу в зависимости от команды. Это позволяет управлять обычными и трудоемкими задачами в центральном месте, а также упрощает управление в целом. Эта настройка существует на двух серверах с (в основном) идентичной настройкой.PHP passthru с раскрашенным результатом

В одном из запущенных подстрок используется функция passthru() PHP. Результаты сохраняются в базе данных для последующего просмотра.

Код работает passthru() является:

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

При запуске из командной строки в замазки, выход аналогичен:

Success: Deleted 'hello' plugin.

На обоих серверах, Success: зеленый , Однако при запуске на сервере 1 с помощью задачи цвета удаляются. При запуске на сервере 2, цветовые коды ANSI сохраняются и записываются следующим образом:

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

Мне нужно удалить цветовые коды из второго результата, но я не могу понять, какой параметр в CentOS (или php.ini), чтобы посмотреть на это. Между двумя серверами есть что-то другое, но я не могу понять, что.

PHP версия: 5.6.8 CentOS версия: 6,6

+0

Когда вы выполняете 'ls -al' в терминалах обоих серверов, вы получаете цветной вывод? Если да, можете ли вы попробовать 'passthru ('ls -al');' с PHP на обоих серверах? У вас все еще есть те же выходные эффекты? – hek2mgl

+0

Когда в терминалах все одинаково. Я запустил бы пашстру с этим и вернусь к вам через мгновение. – Joseph

+0

При запуске кода 'passthru ('ls -al')', вывод не раскрашен ни на одном из серверов. – Joseph

ответ

0

Как мы выяснили, in comments проблема лежит в config file of wp-cli. Измените color:true на color:auto на втором сервере.

+0

Итак, вопрос в том, зачем мне устанавливать это на серверах по-другому? Что это заставляет один и тот же phar действовать по-разному на двух серверах? – Joseph

+0

Кстати, я уже смотрел в конфиг для wp, чтобы проверить, что он еще не установлен там. – Joseph

+0

Вы пытались установить его? – hek2mgl