2017-08-10 49 views
0

我試圖從shell的控制檯輸出重定向到一個文件中的CakePHP 3CakePHP的3重定向ConsoleOutput到文件

我發現了一些片段的CakePHP的2,然而,他們似乎沒有正常工作...

這裏是我到目前爲止的代碼...

public $rootLogsDirectory = ROOT . DS . 'tmp' . DS . 'logs'; 
public $outputName; 

public function __construct($stdout = null, $stderr = null, $stdin = null) { 

    if(!is_dir($this->rootLogsDirectory)) { 

     mkdir($this->rootLogsDirectory); 
    } 

    $this->outputName = tempnam($this->rootLogsDirectory, 'cronjobs'); 

    $stdout = new ConsoleOutput('file://' . $this->outputName . '.out'); 
    $stderr = new ConsoleOutput('file://' . $this->outputName . '.err'); 

    $ioNew = new ConsoleIo($stdout, $stderr); 

    $ioNew->out('test'); 

    parent::__construct($ioNew); 
} 

然而,$this->out('hello world')沒有被寫入文件...

回答

0

我有錯誤使用的語句,我改變了它從

use Cake\TestSuite\Stub\ConsoleOutput; 

use Cake\Console\ConsoleOutput;