Я пытаюсь отлаживать приложение 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
ОБНОВИТЬ
Больше информации Я не упоминал:
ОБНОВИТЬ
Вот моя конфигурация 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 и заполните его следующим образом:
Нажмите ОК, и все готово!
У меня была аналогичная проблема, которая снова оказалась проблемой сопоставления, отлаживая проект Symfony 2 удаленно с помощью PHPStorm.
Если PHPStorm не может отображать местоположения файла src, он будет разбит на первую строку кода в app_dev.php (если вы установили «Break on first line»), но затем продолжайте прямо через любые точки останова, установленные в / src ( например, контроллеры, модели и т. д.) и не помещает никаких ошибок.
После того, как PHPStorm сможет сопоставить эти пути, он останавливается и могут начинаться точки останова, и может начинаться осмысленная отладка.
Это была проблема сопоставления. Ниже приведены шаги, которые сделали трюк
Надеюсь, это поможет кому-то еще
Если вы обнаружите, что 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
или точки останова не работали.