在Symfony 2.3中启用调试组件

时间:2013-07-03 10:24:50

标签: debugging symfony symfony-2.3

在symfony存储库中打开票证之前,我只是想检查一下是否遗漏了一些明显的内容。

我想启用调试组件(用于拥有这些漂亮的异常屏幕等)。

我刚刚使用

安装了symfony
composer create-project symfony/framework-standard-edition symfony 2.3.1

出于测试目的,我在WelcomeController上添加了一个例外:

class WelcomeController extends Controller
{
    public function indexAction()
    {
        throw new \Exception("test");
        /*
         * The action's view can be rendered using render() method
         * or @Template annotation as demonstrated in DemoController.
         *
         */
        return $this->render('AcmeDemoBundle:Welcome:index.html.twig');
    }
}

我没有向我展示(旧)异常屏幕,而是从nginx获取502 Bad Gateway。

app_dev.php:

//$loader = require_once __DIR__.'/../app/bootstrap.php.cache';
$loader = require_once __DIR__.'/../app/autoload.php';
Debug::enable(-1);

require_once __DIR__.'/../app/AppKernel.php';

$kernel = new AppKernel('dev', true);
//$kernel->loadClassCache();
Request::enableHttpMethodParameterOverride();
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

更新

处理PHP错误确实有效:

IDoNotExist();

生成灰色symfony错误屏幕。

1 个答案:

答案 0 :(得分:2)

好的,问题是nginx配置错误。

nginx的错误日志显示以下内容:

2013/07/03 14:33:05 [error] 22792#0: *15 upstream sent too big header while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /test/symfony_2.3.1/web/app_dev.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9111", host: "localhost"

我通过添加

修复了它
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;

表示nginx配置中的server {}(参考http://forum.nginx.org/read.php?2,188352)。 这首先发生在2.3.0,2.2.3没有这个修复工作。

与此问题相关的故障单:https://github.com/symfony/symfony/issues/8413