Отладка PHP - выбор запроса для сеанса Xdebug - PullRequest
1 голос
/ 08 октября 2010

Я работаю над кодом PHP с NetBeans и Xdebug.Я использую Xdebug для пошаговой отладки и т. П.

Я могу отлаживать поток запроса по умолчанию, но не потоки, генерируемые конкретными запросами _get / _post или Ajax.

У кого-нибудь есть идеи, как это можно сделать?

Когда я запускаю отладчик, автоматически открывается вкладка в моем браузере со следующим URL: http://localhost/?XDEBUG_SESSION_START=netbeans-xdebug

Спасибо.Gidi

Ответы [ 2 ]

1 голос
/ 10 октября 2010

ОК,

это происходит следующим образом:

На вкладке проектов (в левом верхнем углу экрана в моей конфигурации) щелкните правой кнопкой мыши имя проекта, а затем свойства => запустить конфигурацию

Там вы должны заполнить 3 формы: 1. URL проекта - базовый URL проекта в Интернете, обычно http://localhost 2. индексный файл - используйте кнопку обзора и перейдите клокальная копия index.php или любого другого файла выполняет эту роль для вас.Эта форма должна содержать путь к этому файлу в локальной файловой системе, а не в Интернете. 3. аргументы - любые аргументы, которые вы хотите указать в сценарии через URL

. Это должно дать вам возможность выбрать пользовательскийURL для отладки

Возможная проблема: в этом процессе вы можете потерять синхронизацию между веб-адресами и соответствующими файлами в вашей системе.Google "отображение пути в отладчике php", если вы столкнулись с проблемами такого рода, и возьмите первый результат (который система не позволила бы мне связать напрямую).Однако это не сработало для меня.Я использовал конфигурацию сервера, чтобы преодолеть эту проблему путем перенаправления URL

Gidi

ps. Все вышеперечисленное не объясняет, как передавать переменные POST в сценарий во время отладки (и я действительно не знаю,как это сделать)

0 голосов
/ 17 апреля 2013

Возможно, вы пытаетесь запустить сеанс отладки, как описано выше. В качестве цели отладки вы выбираете ближайшую страницу к вашему запросу POST в рабочем процессе. Затем вы взаимодействуете с веб-сервисом, всегда имея отладчик в NetBeans. Во время взаимодействия сеанс отладки продолжается, поэтому вы можете заполнять формы и т. Д. И отправлять запрос POST. Затем переключитесь на netbean и отладьте как обычно.

Возможно, вам нужно включить 'Break at first line' в параметрах отладки или установить точку останова в коде php, куда отправляется запрос, чтобы обеспечить остановку отладчика при отправке запроса POST. Тогда вам в конечном итоге придется нажимать отладчик при каждой загрузке страницы.

Надеюсь, это поможет

...