2010-02-03 112 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

希望這可以幫助任何人不能從這裏提供的其他答案解決它!