0

アプリのブートストラップに Zend_Application を使用しています。

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap

{ public static $frontController = null; public static $registry = null;

protected function _initEnvironment()
{
    ini_set('display_errors', true);
    //date_default_timezone_set('Europe/London');
}

protected function _initRegistry()
{
    self::$registry = new Zend_Registry(array(), ArrayObject::ARRAY_AS_PROPS);
    Zend_Registry::setInstance(self::$registry);
}

protected function _initConfiguration()
{
    $config = new Zend_Config_Ini(
        BASE_PATH . '/data/server/settings.ini',
        APPLICATION_ENV
    );
    self::$registry->configuration = $config;
}
protected function _initLogging() {
     $config = self::$registry->configuration;
     $logger = new Zend_Log(new Zend_Log_Writer_Stream($config->logging->file)); 
     Zend_Registry::set('logger', $logger);
}
protected function _initFrontController()
{
    self::$frontController = Zend_Controller_Front::getInstance();
    self::$frontController->throwExceptions(true);
    self::$frontController->returnResponse(true);
    self::$frontController->setControllerDirectory(
        APPLICATION_PATH .'/controllers'
    );
    self::$frontController->setParam('registry', self::$registry);
    return self::$frontController;
}
protected function _initView()
{
    $config = self::$registry->configuration;
    $view = new Zend_View;
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
    Zend_Layout::startMvc(
         array(
            'layoutPath' => APPLICATION_PATH . "/layouts/scripts",
            'layout' => "layout"
        )
        );
  return $view;
}
protected function _initDatabase()
{
    $config = self::$registry->configuration;
    $params = array('host'  => $config->database->hostname,
            'username' => $config->database->username, 
            'password' => $config->database->password, 
            'dbname'    => $config->database->database);
            $db = Zend_Db::factory($config->database->type, $params); 
    Zend_Registry::set('db', $db);
}
protected function _initPlaceholders() {
    $view = $this->getResource('View');
    $view->doctype('XHTML1_STRICT');
    $view->headTitle('Greplin')
         ->setSeparator(' / ');
    $view->headLink()->prependStylesheet('/src/css/header.css');
    $view->headScript()->prependFile('/js/site.js');
    return $view;
}

}

アプリを実行すると、空白のページが表示されます。ファイル名/パスはそのままです。

die()私のlayout.phtmlの一番下に追加すると、ページが表示されます。

何かがヘッダーをリセットし、空白のページを送信しています。エラー報告がオンになっているのに、無関係なエラーが発生します。

これは何だろう?!

ありがとう!

4

1 に答える 1

1

コードのエラーが原因で、リクエストがエラー コントローラーに転送されているようです。application.conf で環境に合わせて以下が設定されていることを確認します。

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

また、ErrorController.php をチェックして、エラーが発生したときに何かが出力されることを確認します。

もちろん、サーバーのログも常に確認する必要があります。

于 2010-08-17T19:28:32.900 に答える