XDebug перестал работать в PHPStorm

Я был биться головой в течение нескольких часов.

Я вернулся, чтобы сделать некоторую работу в PHPStorm после того, как не использовал его через пару недель, и по какой-то причине отладка больше не работает. Раньше это работало, но теперь это не так, и я понятия не имею, что происходит.

Я работаю в Windows, используя IIS, PHP версии 5.3.8. XDebug установлен, и я установил конфигурацию в PHP.ini согласно обычным инструкциям.

когда я запускаю phpinfo () все выглядит нормально (т. е. XDebug есть).

я перепроверил различные настройки, загрузил немного более новую версию XDebug, чем я использовал (Xdebug v2.2.1), но ничто, кажется, не пинает его в жизнь.

может кто-нибудь, пожалуйста, дайте мне некоторые подсказки о том, что я могу посмотреть дальше?

обновление:

Я провел еще несколько часов, бьясь головой об это, и, похоже, не продвинулся дальше. XDebug установлен и загружено, согласно phpinfo (). Я включил ведение журнала, но на самом деле это не говорит мне много, за исключением того, что XDebug действительно подключается...

Log opened at 2013-02-17 04:13:07
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///C:/web/dbg/index.php" language="PHP" protocol_version="1.0" appid="6912" idekey="PHPSTORM"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>

-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>

Log closed at 2013-02-17 04:13:07

таким образом, кажется, что проблема находится на стороне PHPStorm, но я не вижу, где. Я попытался создать очень простой проект,но не смог его отладить.

9 ответов


разве вы не ненавидите, когда часами боретесь с чем-то, а потом в отчаянии пытаетесь сделать что-то простое, и это работает?

Я решил попробовать другой порт, 9001 вместо 9000 по умолчанию, и это сработало!

теперь я понимаю, что недавно я установил Twonky (для потокового видео на мой телевизор), и когда я проверил настройки, там было... порт 9000.


имел ту же проблему сегодня днем - нашел этот вопрос вместе с несколькими другими вопросами SO, поэтому я подумал, что опубликую решение, которое исправило его для меня.

Мне не хватало сопоставления с файловой системой. Что странно, потому что я видел, как PHPStorm подсказал мне, когда они отсутствовали ранее.

enter image description here

надеюсь, это поможет кому-то в будущем :)


была такая же проблема после обновления до El Capitan. Первый намек на то, что я использовал, - Run - > проверка отладки веб-сервера. Этот инструмент от PHPStorm дал мне подсказку о xdebug.remote_host Я использую V-хосты, и он жаловался localhost не является правильным значением. Поэтому я обновил настройку xdebug с помощью xdebug.remote_connect_back=On и это сработало!


более новые версии PHPStorm имеют проверку отладчика. Официальный блог PHPStorm есть рецензия на этой функции, которая может помочь вам понять это.

одна проблема для меня, когда я настраиваю коробку с настроенным php-fpm, заключается в том, что php-fpm также работает на порту 9000 по умолчанию, поэтому мне пришлось изменить настроенный порт в php.предпочтения ini и PHPStorm к чему-то вроде 9001.

для чего это стоит, мой текущий php.настройка ini для xdebug:

[xdebug]
zend_extension="/the/path/to/xdebug.so"
xdebug.file_link_format="txmt://open?url=file://%f&line=%l"
xdebug.remote_enable=1
xdebug.remote_autostart=On
xdebug.remote_port=9001
xdebug.profiler_enable_trigger=1
xdebug.max_nesting_level=250

У меня была такая же проблема! Я, наконец, понял, что все мои конфигурации были правильными, но на стороне браузера я не включил отладку с браузером Chrome. Каждый браузер имеет свой собственный способ включения отладки, чтобы начать работать.


У меня была такая же проблема, и я решил ее, удалив все часы, а затем перезагрузите phpStorm


У меня была та же проблема, и я попробовал все решения, которые я мог найти в SO и на других сайтах (проверил, что phpStorm и Xdebug находятся на тех же портах, проверил, что у меня было сопоставление серверов в файловой системе, переустановил Xdebug и т. д.) но в конце концов проблема была в том, что мы запускаем сайт на внутреннем сервере, и кто-то из него изменил IP-адрес моего компьютера на адрес, который отфильтрован из разрешенных адресов, которые могут быть подключены к этому серверу. Вот почему phpStorm начал игнорировать точки останова от Xdebug.

надеюсь, это поможет кому-то в будущем и спасти его много часов.


Я решил сам по себе также, потому что PHP-Storm и PHP-FPM прослушивают один и тот же порт... просто убейте весь порт php-fpm. enter image description here


обнаружил, что если файл журнала xdebug не доступен для записи, он может не работать. Всегда лучше установить xdebug.remote_log и сделать его доступным для записи.