我有一个PHP脚本,我想在命令行上运行。除此之外,该脚本需要加载包含PHP和HTML内容的PHP文件,并从该文件获取渲染输出。在命令行输出缓冲
此代码不正是我需要的,但不是在命令行中运行时:
<?php
// ...
if(file_exists($content_file)) {
ob_start();
include($content_file);
$content = ob_get_contents();
ob_end_clean();
}
?>
当在浏览器中运行,我的脚本获取PHP文件的通过包括(渲染输出),以及将输出存储在$ content中。
但是,当我在命令行上执行此脚本时,PHP文件的内容会被回显出来,并且$ content永远不会被设置。
我搜索了文档,但似乎没有工作。调用ini_set('implicit_flush',false)不起作用,ob_implicit_flush(0)也不起作用。
有什么想法?
试图通过添加@到surpress错误之前,包括: @include($ content_file); – Raisen 2011-04-05 18:32:08
@Raisen,这里没有错误,使用'@'错误沉默运算符通常被认为是不好的做法。 – Charles 2011-04-05 18:34:32
您能否包含您用来调用脚本的命令?我知道这是一个远射,但可能会影响你的输出。 – eykanal 2011-04-05 18:36:11