Настройка XDebug на MAMP PRO с PHPStorm и виртуальными хостами

Я новичок в отладке и, наконец, нашел время, чтобы поиграть с ней. Но я не могу заставить отладчик работать в PHPStorm (2.1).

Я на Mac (Snow Leopard) и использую MAMP PRO (2.0.1). XDebug установлен (по умолчанию MAMP — 2.1.0) и активен.

Одно из руководств, которым я следовал, это: http://blog.jetbrains.com/webide/2011/02/zero-configuration-debugging-with-xdebug-and-phpstorm-2-0./

И я использовал этот инструмент для создания закладок: http://www.jetbrains.com/phpstorm/marklets/< /а>

В PHPStorm я нажимаю кнопку «Начать прослушивание отладочных соединений PHP», а в веб-браузере использую ссылку «Запустить отладчик». Затем я обновляю веб-страницу и ожидаю, что что-то произойдет в PHPStorm. Но ничего не происходит.

Что-то должно произойти, верно?

Я думаю, что это, вероятно, как-то связано с виртуальными хостами (созданными в MAMP PRO), которые я использую. Когда я работаю над проектом, я использую такие URL-адреса, как dev.companyname.com.

Может ли он работать с разными виртуальными хостами или мне нужно использовать «localhost»? Как мне заставить эту штуку работать?


person MvKooten    schedule 08.04.2012    source источник
comment
Убедитесь, что xdebug работает, включив ведение журнала на xdebug.org/docs/all_settings#remote_log. Проверьте журнал, чтобы убедиться, что соединение с PhpStorm было успешным. Если это так, дважды проверьте, установлена ли у вас точка останова, или включите параметр для остановки на первой строке. Если это не поможет, предоставьте свой php.ini, журнал xdebug, вывод phpinfo().   -  person CrazyCoder    schedule 08.04.2012


Ответы (2)


У меня была такая же проблема, когда XDebug работал с MAMP Pro и PHPStorm, но я, наконец, понял это. Вот что я сделал:

  1. Отредактируйте файл php.ini, запустив MAMP, а затем перейдя в Файл->Редактировать шаблон->PHP->ваша версия PHP и добавив:

    [xdebug] zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
    xdebug.remote_enable=1

  2. Добавьте букмарклеты для Start debugger, Stop debugger и Debug this page из этого генератора букмарклетов.

  3. Установите точку останова в PHPStorm, которую вы хотите вызвать
  4. Щелкните букмарклет Start debugger
  5. В PHPStorm щелкните значок Start Listen PHP debug connections
  6. Загрузите страницу, которая вызовет точку останова и должна это сделать.

Подробнее см. в пособии по Jetbrains. .

person Allen Liu    schedule 23.08.2012
comment
И теперь я понимаю, как много я боролся за отладку php-кода. Спасибо, это определенно помогло! - person Didier Ghys; 15.09.2012
comment
Не забывайте, что вам, возможно, придется перезагрузить сервер после редактирования файла php.ini, прежде чем изменения вступят в силу. - person J.D.; 14.10.2015

Много ответов для старых версий. Очень просто с Mamp 2.2 и PHPStorm 7.1 (OSX 10.9)

МАМП:

Отредактируйте PHP.ini для версии, которую вы используете через MAMP, чтобы включить XDebug, как описывает Аллен, удалив ';' перед zend_extension и добавьте xdebug.remote_enable=1

Шторм PHP:

  1. Выполнить->Редактировать конфигурации

  2. Добавить новое веб-приложение PHP

  3. Настройте новый сервер, хост — «localhost», порт — «8888», и установите начальный URL-адрес (/myapp)

Вот и все, нажмите «Отладка», и все готово, это просто.

person coop    schedule 28.01.2014
comment
Почему порт 8888, где я могу найти свой порт? - person fdrv; 06.03.2016