我试图简单地将“hello world”写入一个文件,来自cakephp shell,并计划最终使用我们的产品模型编写一个sitemap.xml文件。我找到了这个:Question让我开始......
但我想在Cake 1.3.6(我正在使用)中不支持ConsoleOutput,或者我需要包含持有它的类。
尝试从终端运行文件时出现的错误: PHP致命错误:第7行/public/vendors/shells/sitemap.php中找不到“ConsoleOutput”类
这是我的代码:
class SitemapShell extends Shell {
public function __construct($stdout = null, $stderr = null, $stdin = null) {
// This will cause all Shell outputs, eg. from $this->out(), to be written to
// TMP.'shell.out'
$stdout = new ConsoleOutput('file://'.TMP.'shell.out');
// You can do the same for stderr too if you wish
// $stderr = new ConsoleOutput('file://'.TMP.'shell.err');
parent::__construct($stdout, $stderr, $stdin);
}
public function main() {
// The following output will not be printed on your console
// but be written to TMP.'shell.out'
$this->out('Hello world');
}
}
答案 0 :(得分:1)
在CakePHP 1.3中没有安装ConsoleOutput是正确的 - 你可以升级到版本2. *?
如果没有,你可以只使用常规PHP:
$fp = fopen('hello.txt', 'w');
fwrite($fp, 'hello world');
fclose($fp);
希望这有帮助。
托比