У меня есть скрипт, который запускает другие скрипты, основанные либо по указанному расписанию, либо по запросу в зависимости от команды. Это позволяет управлять обычными и трудоемкими задачами в центральном месте, а также упрощает управление в целом. Эта настройка существует на двух серверах с (в основном) идентичной настройкой.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
Когда вы выполняете 'ls -al' в терминалах обоих серверов, вы получаете цветной вывод? Если да, можете ли вы попробовать 'passthru ('ls -al');' с PHP на обоих серверах? У вас все еще есть те же выходные эффекты? – hek2mgl
Когда в терминалах все одинаково. Я запустил бы пашстру с этим и вернусь к вам через мгновение. – Joseph
При запуске кода 'passthru ('ls -al')', вывод не раскрашен ни на одном из серверов. – Joseph