2010-02-03 83 views
2

我的symfony项目在生产时不存在的操作是抛出错误500而不是404. 在开发环境中,它显示错误404(实际上404错误的调试说未找到操作)。symfony错误500代替404生产

我使用自定义的模板404手动说。

+3

做Apache的错误日志有何启示? – 2010-02-03 04:06:22

回答

2

这听起来像错误是在您的自定义404的动作。你能否提供404动作的代码,以及你如何在settings.yml中定义自定义404?

+0

是的,我检查自定义的404动作,这是一个错误。 – llazzaro 2010-02-03 13:28:12

0

我在那里我得到的调试404同样的问题,但在生产500。我知道这是不是llazzaro的情况下,答案,因为他西罗标记为正确的答案,但在这里就是发生在我身上的情况下,任何人都遇到了一个问题。

我的操作类没有扩展sfActions,而是扩展了中间类(反过来扩展了sfActions)。那个中间阶级打电话给$this->getRoute(),它假设返回一个对象,实际上它有时可能是空的。试图访问显然没有空对象,造成错误500

我想通了这一点,(麦克b。通过对原来的问题意见建议),通过检查我的Apache日志的方法。这里有一个错误消息陈述:

PHP Fatal error: Call to a member function getRequirements() on a non-object in /path/to/apps/my_app/lib/sfIntermediateActions.php on line 46

希望这可以帮助任何人不能从这里提供的其他答案解决它!