Использование XDebug с SublimeText на сервере WAMP

#php #xdebug

#php #xdebug

Вопрос:

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

Ошибка: сбой загрузки c:wampbinphpphp5.6.19extphp_xdebug-2.4.1-5.6-vc11.dlln ‘

Это странно, потому что он определенно загружает файл, когда я добавляю это в свой файл php.ini:

 zend_extension = "c:\wamp\bin\php\php5.6.19\zend_ext\php_xdebug-2.4.1-5.6-vc11.dll"
  

он сообщает, что он действительно включен. В файле php.ini я заметил это: введите описание изображения здесьВ учебном пособии, которое я прочитал, файл xdebug.ini появился в одном из этих полей: введите описание изображения здесьВот полные настройки в моем файле php.ini:

затем проверьте phpinfo(), и теперь я вижу раздел для xdebug: введите описание изображения здесь

Также, когда я запускаю

if (xdebug_is_enabled()) { echo ‘включено’; }

 [xdebug]zend_extension = "c:\wamp\bin\php\php5.6.19\zend_ext\php_xdebug-2.4.1-5.6-vc11.dll"
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1
xdebug.remote_log= "C:\wamp\tmp\xdebug.log"
xdebug.profiler_enable=0
xdebug.profiler_output_dir = "C:\wamp\tmp"
xdebug.collect_params = 4
xdebug.collect_return = on
xdebug.collect_vars = on
xdebug.show_local_vars = 3
  

Честно говоря, я понятия не имею, что делает половина этих параметров. Вот настройки для моего возвышенного проекта:

     "settings":
{
    "xdebug":
    {
        "url": "localhost/xdebug_test"
    },
    "sublime-view-in-browser": {
         "baseUrl": "http://localhost/xdebug_test",
         "basePath": "C:\wamp\www\xdebug_test"
    }
}
  

и внутри XDebug.sublime.settings я добавил туда URL-адрес:

 "url": "http://localhost/xdebug_test"
  

Вот индексный файл в папке xdebug_test:

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

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

Есть ли способ диагностировать, что с ним не так? Я так не думаю, потому что это происходит не только в sublime text, вот что происходит, когда я запускаю PHP-скрипт в терминале: введите описание изображения здесь

РЕДАКТИРОВАТЬ: я только что заметил в phpinfo(), что для ключа IDE установлено значение PHPSTORM. Это странно, потому что в файле настроек xdebug он установлен следующим образом:

 "ide_key": "sublime.xdebug",
  

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

Ответ №1:

Вы пытались изменить URL-адрес xdebug в настройках проекта?

 "xdebug":
{
    "url": "http://localhost/xdebug_test"

}
  

Комментарии:

1. Я просто попытался изменить его обратно на значение по умолчанию «url»: «» , это ничего не изменило.

2. Хорошо .. также попробуйте изменить xdebug.remote_host=»localhost» в php.ini

Ответ №2:

Что, если вы используете эту версию dll — https://xdebug.org/files/php_xdebug-2.4.1-5.6-vc11-nts.dll ? Постфикс «nts» означает «Не потокобезопасный».

И, конечно, вы можете использовать мастер XDebug, чтобы узнать, какая версия dll и какие настройки вам нужны — https://xdebug.org/wizard.php

Комментарии:

1. Я попробовал не потокобезопасную версию, и она вообще не работала, в phpinfo() ничего не появилось.

Ответ №3:

Я вставил свою информацию в мастер и вот что я получил введите описание изображения здесь

Я попробую версию без потоков.

Ответ №4:

Я понял проблему, xdebug подключался к неправильному порту. Я нашел файл журнала C:/wamp/tmp/xdebug.log и проверил последние сообщения, и там было множество строк, в которых говорилось то же самое:

Журнал открыт в 2016-10-21 16:09:25 I: Подключение к настроенному адресу / порту: localhost: 9001. E: Тайм-аут подключения к клиенту. 🙁 Журнал закрыт в 2016-10-21 16:09:26

Я подозревал, что проблема была в порту, я проверил php.ini файл, и он был установлен на 9001 , затем я проверил Xdebug.sublime-settings и заметил, что порт был установлен на 9000 . Я установил порт в php.ini на 9000, и теперь xdebug работает.

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