Как отдебажить циклическую перезагрузку страницы?

Я сейчас занимаюсь доработкой самописной CMS (автор не я), состоящей из нескольких сотен PHP файлов. В коде обильно встречаются конструкции вида "header('Location:....)", причём как в PHP, так и в JS-коде. При определённых условиях сайт начинает вызывать циклическую перезагрузку страницы (HTTP 302), после чего браузер прибивает страничку. Отладить вручную не удалось, а так как у меня мало опыта работы с дебаггерами, то быстро найти решение не могу. Подскажите, как решить проблему с помощью Xdebug или подобных инструментов?
  • Вопрос задан
  • 2527 просмотров
Решения вопроса 1
@asd111
Как вариант пройтись поисковиком IDE по всем header("Location... ) и расставить breakpoint'ы перед header или на сами header.
В phpstorm делается так: открываем в ide через File > Open directory папку где лежат все исходники проекта слева жмем правой кнопкой мыши на названии верхней папки и выбираем Find in Path там пишем для поиска header. Ещё нужно будет правильно указать search in directory если что то неправильно, у меня само все вышло правильно. Выйдет окошко Found occurances т.е. найденные совпадения и там можно быстренько даблкликом и ctrl+F8 обойти каждое совпадение и поставить breakpoint на сам header или на какой нибудь вызов какой нибудь функции перед header.

Таким же образом если есть подозрение на javascript или другие причины, то можно попробовать закомментировать через поисковик все места с header для этого надо выбрать вместо Find in Path - Replace in Path в строке для поиска написать header("Location , а в строке для замены //header("Location и нажать Find потом All files. Потом можно так же обратно раскомментировать. Таким образом можно разом закомментировать все header во всех файлах во всех папках которые находятся в папке которую вы открыли через File > Open directory.

C дебагером все не так сложно как кажется - главное один раз настроить потом можно ставить столько breakpoint'ов сколько хочется и наслаждаться тем что можно без всяких <? есно $myVariable ?> посмотреть значения переменных.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
madmages
@madmages
Человек прямоходящий
CMS, состоящей из нескольких сотен PHP файлов

обильно встречаются конструкции вида "header('Location:....)"

мало опыта работы с дебаггерами

вы не тем делом заняты. CMS пишут только новички, чтобы подучиться писаь код, или про чуваки, которые знаю как и что делать. на про вы не похожи.

а по делу.
xdebuger очень удобная штука, без нее как без рук. как люди без нее живут не представляю. и в двух словах описать как с ним работать не представляется возможным. можете поизучать статьи, например вот habrahabr.ru/post/209024
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы