Локальная отладка PhpStorm перестала работать - Вы видите проблему в настройке? - PullRequest
0 голосов
/ 21 октября 2019

Раньше PhpStorm блестяще работал на моем компьютере. Нет расширений браузера. Я мог бы поставить точки останова где угодно, перейти на какой-либо URL в браузере, нажать Enter, и тогда я автоматически перешел бы на точку останова в данном файле. Файлы в проекте открывались автоматически, когда я проходил по коду.

Теперь это полный беспорядок.

Сначала приведу информацию о Xdebug в xdebug.ini (я не указываювсе, что связано с Xdebug в php.ini):

zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
[xdebug]
xdebug.remote_enable=on
xdebug.default_enable=on
xdebug.remote_port=9000
xdebug.remote_host=localhost

Если я запускаю php -v, я получаю

PHP 7.0.15 (cli) (built: Feb 13 2017 10:30:54) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.15, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
iMac:xdebug-2.7.2 $ 

phpinfo() показывает соответствующие значения, установленные на основе моего .ini.

В PhpStorm у меня PHP CLI установлен на 7.0, он показывает Xdebug 2.7.2.

enter image description here

enter image description here

Любопытно, что сообщение "Can't load xdebug", но php -v не показывает то же сообщение. Сначала я определил zend_extension как в php.ini, так и в xdebug .ini и увидел это сообщение при выполнении php -v, но после удаления из php.ini сообщение ушло из php -v.

У меня естьне знаю, нужно ли мне что-либо делать в настройках отладки в Build, Deployment, но вот что по умолчанию:

enter image description here

Также у меня естьмой проект настроен на синхронизацию с удаленным сервером, но для отладки я не хочу использовать сопоставления путей. Вот как у меня это было раньше, и сообщения PhpStorm об окончании сеанса отладки, а сопоставления путей не были найдены никогда.

Вот мой Run->Config

enter image description here

Раньше я не беспокоился о начальном URL. Независимо от того, какой URL я ввел в браузере, он вызывает отладку.

enter image description here

И вот что я пробовал в отношении сопоставления путей:

enter image description here

Я сделал это, чтобы посмотреть, исправит ли это что-то, но нет.

У меня такое ощущение, что это проблема с настройками Xdebug, мой прогон-> config или тот факт, что я использую виртуальный хост и где-то есть запись localhost, вызывающая проблему.

Так что я в растерянности. Если я выберу Listen for incoming... и перейду к URL, фокус не перейдет к PhpStorm с текущей точкой останова. Я вижу в браузере, что все остановилось, и я захожу в PhpStorm и вижу, что отладка была запущена. Но когда я нажимаю «шаг за шагом» или «шаг в отладку», он просто заканчивается.

Что-то явно не так с тем, что я делаю?

Редактировать: Вот что я вижу в журнале xdebug:

[89603] W: Creating socket for 'dev.courses.com:9000', poll success, but error: Operation now in progress (19).
[89603] E: Could not connect to client. :-(
[89603] Log closed at 2019-10-21 10:42:37
[89603]
[89603] Log opened at 2019-10-21 10:42:37
[89603] I: Connecting to configured address/port: dev.courses.com:9000.
[89603] W: Creating socket for 'dev.courses.com:9000', poll success, but error: Operation now in progress (19).
[89603] E: Could not connect to client. :-(
[89603] Log closed at 2019-10-21 10:42:37

Не уверен, что специфика ошибки ... Может быть, это намекает на что-то? У меня вопрос, где в конфигурации я указываю localhost против моего псевдонима виртуального хоста? Может быть, это то, что все портит?

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Хорошо, так что это оказалось проблемой xdebug, хотя сначала это было неочевидно.

Изначально я не думал проверять журнал PHPStorm. Но в журнале PHPStorm показывалось

Argument for @NotNull parameter 'remoteFileUrl' of com/jetbrains/php/debug/xdebug/debugger/XdebugDriver.onBreak must not be null 

При поиске вышеуказанной ошибки я получил

https://intellij -support.jetbrains.com / hc / en-us / community / posts / 360001498520-xdebug-works-only-with-first-line

Оказывается, моя версия PHPStorm, как известно, не работает с xdebug 2.7, поэтому я понизился до 2.6.1, и все хорошо: -)

спасибо, Брайан

0 голосов
/ 21 октября 2019

Вы можете узнать, что пытается сделать Xdebug, используя параметр xdebug.remote_log=/tmp/xdebug.log. В этом журнале будет указано, какие попытки подключения предпринимаются и почему они успешны или нет.

...