【问题标题】:Enable Debug Component in Symfony 2.3在 Symfony 2.3 中启用调试组件
【发布时间】:2013-07-03 10:24:49
【问题描述】:

在 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 错误屏幕。

【问题讨论】:

  • 为什么在 app_dev.php 中有Debug::enable(-1);Request::enableHttpMethodParameterOverride();
  • 我没有更改Request:: enableHttpMethodParameterOverride(),它在库存中app_dev.phpDebug::enable(-1) 只是为了确保记录所有错误消息。
  • 哦,我不知道Debug::enable(-1);,好点。而且,关于Request:: enableHttpMethodParameterOverride(),我的 app_dev.php 中没有(而且我使用的是 SF2.3)
  • 别介意我的评论,伙计。我已经打开了我的项目来寻找那条线并修改我的 git 历史和......显然从未消失过,哈哈哈。原谅我,我可能看错了;)

标签: debugging symfony symfony-2.3


【解决方案1】:

好的,问题是 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 2016-11-24
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多