phpstorm xdebug с проектом symfony2

Я пытаюсь отлаживать приложение symfony2 с помощью xdebug и phpstorm.

Моя локальная среда разработки – Ubuntu 14.04 с apache2, а версия Xdebug – 2.2.7

У меня есть работа над другими php (не symfony2) проектами со следующими руководствами:

https://www.jetbrains.com/phpstorm/help/configuring-xdebug.html

https://confluence.jetbrains.com/display/PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm

Когда я запускаю букмарклет, чтобы установить cookie и начать отладку этого проекта symfony2, phpstorm обнаруживает входящее соединение (которое я принимаю), но больше ничего не происходит. Это не останавливается ни в какой точке останова.

У меня есть плагин symfony2 phpstorm. Я попытался отключить его и ничего не получить.

Этот ответ мне понравился, но это не трюк

Последнее, что я пробовал, это изменить конфигурацию отладки серверов, отключив сопоставления пути. Таким образом phpstorm начинает отлаживать, но он разбивается в файле app_dev.php вместо любой точки останова, которую я установил.

Я застрял здесь, любая идея была бы appreacite

ОБНОВИТЬ

Больше информации Я не упоминал:

  • Я использую firefox. Я пытаюсь отлаживать среду dev
  • Точки прерывания находятся в действии в контроллере моих собственных, а не поставщиков.

ОБНОВИТЬ

Вот моя конфигурация xdebug

[XDebug] zend_extension="/usr/lib/php5/20121212/xdebug.so" xdebug.remote_enable=1 xdebug.remote_port="9000" xdebug.profiler_enable=1 xdebug.profiler_output_dir="<AMP home\tmp>" 

Я не знаю, какой браузер вы используете, но, используя Chrome, я использую вспомогательное расширение Xdebug.

Как только расширение будет установлено, щелкните правой кнопкой мыши по нему> параметры и выберите PHPStorm как IDE.

Затем начните прослушивать соединение на PHPStorm, используя кнопку рядом с отладочной.

EDIT :

Вот моя конфигурация XDebug:

 zend_extension=/usr/lib/php5/20121212/xdebug.so xdebug.max_nesting_level = 1000 xdebug.collect_params = 1 xdebug.collect_return = 1 xdebug.remote_enable = 1 

Вы уверены, что XDebug правильно установлен на вашем компьютере?

Когда в PHPStorm > Run > Edit Configurations... , добавьте профиль отладки PHP Web Application и заполните его следующим образом:

  • Название : Проект Acme
  • Сервер : apache2 (вам может потребоваться добавить ваше имя, порт, адрес, отладчик)
  • Стартовый URL : /app_dev.php
  • Браузер : по умолчанию

Нажмите ОК, и все готово!

У меня была аналогичная проблема, которая снова оказалась проблемой сопоставления, отлаживая проект Symfony 2 удаленно с помощью PHPStorm.

Если PHPStorm не может отображать местоположения файла src, он будет разбит на первую строку кода в app_dev.php (если вы установили «Break on first line»), но затем продолжайте прямо через любые точки останова, установленные в / src ( например, контроллеры, модели и т. д.) и не помещает никаких ошибок.

  1. Перейдите в Настройка -> Языки и рамки -> PHP -> Серверы
  2. Выберите сервер в средней левой панели (или добавьте «+»)
  3. Установите флажок «Использовать сопоставления пути (выберите, используется ли сервер удаленным или символические ссылки)»
  4. Добавьте сопоставления, отображающие / app, / src и / web. Это могут быть индивидуальные сопоставления, но лучше, если возможно, установить отображение более высокого уровня на /, которое охватывает их все.

После того, как PHPStorm сможет сопоставить эти пути, он останавливается и могут начинаться точки останова, и может начинаться осмысленная отладка.

Это была проблема сопоставления. Ниже приведены шаги, которые сделали трюк

  1. Отключить сопоставление пути в разделе «Настройки»> «Языки и рамки»> «PHP»> «Серверы»> «Отменить». Использовать сопоставления путей
  2. Начать отладку
  3. Знаменитый путь «Удаленный путь к файлу» / to / script / on / the / server.php не отображается в любой путь к файлу в проекте », наконец, появляется
  4. Затем я мог бы выполнить раздел «Поиск и устранение неисправностей» в официальном руководстве по настройке сопоставлений пути

Надеюсь, это поможет кому-то еще

Если вы обнаружите, что PHPStorm продолжает запрашивать сопоставления, попытайтесь создать сопоставление на самом высоком уровне проекта, как упомянуто в названии @stanhope, этого должно быть достаточно.

Мое первое сопоставление было неправильно установлено на файл app_dev.php в / web, что означало, что среда ID спросила меня о сопоставлениях файлов в каталогах поставщиков.

например /vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Response.php

введите описание изображения здесь

Мне также пришлось прокомментировать загрузку кеша класса (symfony 2.7). Я сделал это временно в web/app_dev.php

 //$kernel->loadClassCache(); 

В противном случае отладка произошла в bootstrap.php.cache или точки останова не работали.