#php #html #http #redirect #symfony1
#php #HTML #http #перенаправление #symfony1
Вопрос:
Я использую PHP с фреймворком Symfony для своих веб-проектов. Фреймворк позволяет переключаться между средами разработки и производства.
Распространенная проблема с перенаправлениями заключается в том, что вы не увидите ошибок / предупреждений PHP при перенаправлении. Моя идея состояла в том, чтобы вообще отключить автоматическое перенаправление в среде разработки и вместо этого предоставить ссылку на целевое местоположение (с href, как определено в заголовке «Location»).
Простым решением является установка кода состояния в 20X вместо 30X, то есть вообще не перенаправлять при запуске в среде разработки. Но мне это не нравится из-за проблем с тестированием и т.д.
Вы знаете лучшее решение?
Комментарии:
1. PHP может записывать ошибки / предупреждения в файл: php.net/manual/en/errorfunc.configuration.php#ini.error-log затем вы можете перенаправлять все, что хотите, и ошибки будут извлекаться из этого файла.
2. Это решение, которое использует ezPublish. Сделайте это опцией, которую вы включаете, когда вам нужно, и у вас не будет проблем с тестированием.
3. Какую версию symfony вы используете?
4. @MarcB Я предпочитаю видеть вывод напрямую.
5. @greg0ire: Хорошая идея, мне нужно изменить поведение в моей тестовой среде.
Ответ №1:
вы должны иметь возможность перехватывать журналы php и использовать исключение для любых фатальных ошибок.
Вы могли бы отключить перенаправление постранично. или настройте модульные тесты, чтобы проверить, что все работает так, как вы ожидаете
Комментарии:
1. Да, я думаю, что другого способа нет, т. Е. он не будет работать с http-заголовками