在调用ob_get_clean时,在MAMP下运行的站点会死亡

时间:2014-10-09 17:11:22

标签: php mamp

我正在使用PHP 5.5.10版运行MAMP。除了调用ob_start()ob_get_clean()

的网页外,PHP和Apache都可以使用
<?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 Mavericks)。

1 个答案:

答案 0 :(得分:1)

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