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 подсказал мне, когда они отсутствовали ранее.
надеюсь, это поможет кому-то в будущем :)
была такая же проблема после обновления до 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. Каждый браузер имеет свой собственный способ включения отладки, чтобы начать работать.
У меня была та же проблема, и я попробовал все решения, которые я мог найти в SO и на других сайтах (проверил, что phpStorm и Xdebug находятся на тех же портах, проверил, что у меня было сопоставление серверов в файловой системе, переустановил Xdebug и т. д.) но в конце концов проблема была в том, что мы запускаем сайт на внутреннем сервере, и кто-то из него изменил IP-адрес моего компьютера на адрес, который отфильтрован из разрешенных адресов, которые могут быть подключены к этому серверу. Вот почему phpStorm начал игнорировать точки останова от Xdebug.
надеюсь, это поможет кому-то в будущем и спасти его много часов.
обнаружил, что если файл журнала xdebug не доступен для записи, он может не работать. Всегда лучше установить xdebug.remote_log и сделать его доступным для записи.