zend framework 2 中让空白页面显示错误信息

2014年02月28日

开发软件项目时显示错误,警告等信息非常利于我们调试程序。

zend framework 2 很多设置都是在配置文件中,如果设置不当,经常会碰到空白页面的情况。

这种情况下基本上是我们的配置或者程序中出现错误,但zf2的配置文件,以及程序代码分散的很厉害,

这很不利于我们判断错误到底出现在哪里。所以让错误提示显示出来就很有必要。

zf2显示错误提示也很简单。

首先在我们的服务器配置文件中添加development环境变量: SetEnv APPLICATION_ENV “development”

<VirtualHost *:80>
    ServerName zf2-tutorial.local
    DocumentRoot "/Users/sai/Sites/valuation/public"
    SetEnv APPLICATION_ENV "development"
    <Directory "/Users/sai/Sites/valuation/public">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

其次在项目根目录的public/index.php中设置error_reporting为E_ALL,display_errors为true.

zf2-tutorial.local/public/index.php

<?php
 /**
  * Display all errors when APPLICATION_ENV is development.
  */
if ($_SERVER['APPLICATION_ENV'] == 'development') {
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
}

chdir(dirname(__DIR__));

// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
    return false;
}

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();