我有一個腳本,可以根據指定的時間表或根據需要運行其他腳本,具體取決於命令。這允許在中央位置管理普通和耗時的任務,並簡化管理。這種設置存在於兩臺服務器上,並且(通常)設置相同。帶有彩色輸出的PHP passthru
運行的下標之一使用PHP的passthru()
函數。結果存儲在數據庫中供以後查看。
運行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
在終端中時,一切都是一樣的。我會用這種方式運行passthru,並在一會兒回覆你。 – Joseph
運行代碼'passthru('ls -al')'時,輸出不會在任一服務器上着色。 – Joseph