ошибка symfony 500 вместо 404 при производстве - PullRequest
3 голосов
/ 03 февраля 2010

Мой проект Symfony на производстве, когда действия не существуют, выдает ошибку 500 вместо 404. В среде разработки он показывает ошибку 404 (фактически отладка ошибки 404 говорит о том, что действие не найдено).

Я использую пользовательские шаблоны 404, как сказано в руководстве.

Ответы [ 2 ]

2 голосов
/ 03 февраля 2010

Похоже, ошибка в вашем пользовательском действии 404. Можете ли вы предоставить код для вашего действия 404 и как вы определили свой собственный 404 в вашем файле settings.yml?

0 голосов
/ 31 января 2011

У меня была та же проблема, когда я получал 404 в отладке, но 500 в производстве. Я знаю, что это не ответ по делу Илаццаро, поскольку он пометил Сайро как правильный ответ, но вот что случилось со мной на случай, если у кого-то еще возникнут проблемы.

Мой класс действий не расширял sfActions, но вместо этого расширял промежуточный класс (который, в свою очередь, расширял sfActions). У этого промежуточного класса был вызов $this->getRoute(), который, как он предполагал, возвратил объект, хотя иногда он может быть нулевым. Попытка получить доступ к методам на нулевом объекте явно не удалась, что привело к ошибке 500.

Я понял это (как предложил Майк Б через комментарий к исходному вопросу), проверив мои логи Apache. Там было сообщение об ошибке:

Неустранимая ошибка PHP: вызов функции-члена getRequirements () для необъекта в /path/to/apps/my_app/lib/sfIntermediateActions.php в строке 46

Надеюсь, это поможет кому-то еще, кто не может решить эту проблему из другого ответа, предложенного здесь!

...