Настройка xdebug: Open Server + PHPStorm + xdebug

Алексей

Алексей

Настройка Open Server

  1. Редактируем php.ini:
    zend_extension = xdebug
    xdebug.default_enable = 0
    xdebug.remote_enable = 1
    xdebug.remote_autostart = 0
    xdebug.remote_port = 9000
    xdebug.remote_connect_back = 1
    xdebug.profiler_enable = 0
    xdebug.profiler_enable_trigger = 1
    xdebug.profiler_output_dir = "%sprogdir%/userdata/temp/xdebug/"
    xdebug.profiler_output_name = "cachegrind.out.%H%R"
    xdebug.idekey = ""
  2. Перезапускаем OpenServer.

Настройка PhpStorm

  1. Убеждаемся, что в Settings → Languages & Frameworks → PHP → Debug для Xdebug прописан порт 9000 и включена опция Can accept external connections:
  2. С помощью меню Run → Web Server Debug Validation проверяем настройку отладчика

Настройка браузера

Для старта отладки из браузера я использую Chrome расширение Xdebug helper, для других браузеров должно быть что-то похожее.

Процесс отладки

  1. В PhpStorm включаем прослушку порта отладчика:
  2. В нужном месте ставим брикпойнт:
  3. В браузере открываем сайт и стартуем отладочную сессию
  4. Перезагружаем страницу.
  5. При первом старте отладчика, PhpStorm предложит принять входящее соединение, жмём Accept:И попадаем в отладочный режим

Профилирование

Для профилирования есть:

QCacheGrind (KCacheGrind) Windows

KCachegrind ( Linux)

Qcachegrind (Mac OS X)