如何在Symfony 1.4中模拟错误500?

Gui*_*dre 2 symfony1 symfony-1.4

我创建了一个error500.php文件,web/errors/现在想测试它.

我试着把这一行放在我的一个动作中:

$this->getResponse()->setStatusCode(500);
Run Code Online (Sandbox Code Playgroud)

不幸的是它似乎被忽略了.

你们知道这里发生了什么吗?

我正在使用Symfony 1.4.

编辑: Firebug告诉我错误实际上已被触发,但页面仍在加载之后.而且我在生产环境中.

Rai*_*ise 11

我很确定抛出任何异常应该触发错误页面:

throw new sfException('Testing the 500 error');
Run Code Online (Sandbox Code Playgroud)

但是,symfony 1.2+中错误页面的位置不同:

config/error/error.html.php
Run Code Online (Sandbox Code Playgroud)

将您的web/errors/error500.php文件移动到此位置.

  • 此外,您无法在开发/测试模式下测试它.确保您处于生产模式. (3认同)