我有一個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