2014-10-09 42 views
1

我正在运行PHP 5.5.10版的MAMP。 PHP和Apache都是工作,除了在调用ob_start()ob_get_clean()页:在MAMP下运行的站点在调用ob_get_clean时死亡

<?php 
if (array_key_exists('DOCUMENT_ROOT', $_SERVER)) 
    include("{$_SERVER['DOCUMENT_ROOT']}/php-libs/setup.php"); 
else { 
    // use include path - under CGI 
    include("php-libs/setup.php"); 
} 

$page = $site->page(); 
$page_info = array(
    'title' => 'Welcome!', 
    'page_title' => '', 
    'page_subtitle' => '', 
    'page_type' => 'homepage', 
    'body_class' => 'home full' 
); 

$page->setup($page_info); 

ob_start(); 
?> 

<p>Hello World!</p> 

<?php 
$page->setContent(ob_get_clean()); 
$page->display(); 

的结果是,我得到一个200响应,但没有页面内容和没有错误。 PHP或Apache错误日志中没有显示任何内容,所以我完全失败。我已经尝试了多个不同的PHP版本,它似乎并不重要。

如果我注释掉$page->setContent(ob_get_clean());行,那么会加载页面,但不包括included文件。

这里是我的phpinfo输出:http://jsfiddle.net/LeyLcr5f/embedded/result/

而且,我的一个同事用他的机器与MAMP PRO在同一回购没有问题(我们都运行OS X小牛队)。

回答

1

这看起来像我以前用过的图书馆。尝试确保Web服务器具有对smarty/templates_c目录的写入访问权限。