У меня была та же проблема, когда я получал 404 в отладке, но 500 в производстве. Я знаю, что это не ответ по делу Илаццаро, поскольку он пометил Сайро как правильный ответ, но вот что случилось со мной на случай, если у кого-то еще возникнут проблемы.
Мой класс действий не расширял sfActions
, но вместо этого расширял промежуточный класс (который, в свою очередь, расширял sfActions
). У этого промежуточного класса был вызов $this->getRoute()
, который, как он предполагал, возвратил объект, хотя иногда он может быть нулевым. Попытка получить доступ к методам на нулевом объекте явно не удалась, что привело к ошибке 500.
Я понял это (как предложил Майк Б через комментарий к исходному вопросу), проверив мои логи Apache. Там было сообщение об ошибке:
Неустранимая ошибка PHP: вызов функции-члена getRequirements () для необъекта в /path/to/apps/my_app/lib/sfIntermediateActions.php в строке 46
Надеюсь, это поможет кому-то еще, кто не может решить эту проблему из другого ответа, предложенного здесь!