Xdebug phpstorm


Доброго времени суток, %username%!

Прочитал сегодня статью «Отладка с помощью XDebug и PhpStorm на примере сайта 1С-Битрикс». В ней автор использует «зеленого жука» для запуска отладки. В комментариях предложены еще несколько методов запуска отладки, такие как специальные закладки, различные плагины и т.д. На мой взгляд, все это неудобно, к тому же есть наиболее простой и удобный вариант. Я мог бы предложить его в комментариях к статье, но, увы, в read-only это невозможно. Посему вынужден писать отдельную статью.

У xdebug есть возможность автостарта, без всяких премудростей. Достаточно просто расставить breakpoint’ы и открыть Ваше приложение в браузере, xdebug будет подхватывать старт сам.

Итак, моя конфигурация:

  • Веб-сервер — OpenServer 4.8.8
  • PHP 5.4.17
  • XDebug 2.2.3
  • IDE PhpStorm 7.1.
1. Настройка XDebug

В php.ini подключаем расширение и устанавливаем параметры:

zend_extension="%путь до php%/ext/php_xdebug.dll" ;эта опция как раз и отвечает за автостарт xdebug.remote_autostart=on xdebug.remote_enable=on xdebug.remote_handler="dbgp" xdebug.remote_host="localhost" ;порт может быть и 9000, но у openserver он зарезервирован под php xdebug.remote_port=9001 xdebug.remote_mode=req ;ключ IDE (может быть любым) понадобится позже xdebug.idekey="PHPSTORM"   

2. Настройка PhpStorm

Настраиваем интерпретатор, если у вас это еще не сделано.

image

image

Далее добавляете сервер, если вы сервер локальный, то пишете в поле Host — localhost, если удаленный то адрес удаленного хоста. Имя хоста здесь и в php.ini должно совпадать.

image

Настраиваем XDebug. Порт берем из php.ini (xdebug.remote_port). Если вам не нужно чтобы XDebug останавливался на первой строчке приложения, отключаем два нижних чекбокса.

image

Здесь значения так же берем из php.ini: IDE key -> xdebug.idekey, Host -> xdebug.remote_host, Port -> xdebug.remote_port.

image

На этом настройка завершена, можно пользоваться.

Использование

Для начала работы расставляете breakpoint’ы, включаете прослушку порта XDebug и открываете ваше приложение.


image

image

Breakpoint’ы будут ловиться автоматически, без необходимости тыкать в «зеленого жука». Надеюсь информация кому-нибудь пригодится.

На этом все, спасибо за внимание.

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

habr.com

PhpStorm содержит удобные инструменты для запуска и отладки php-приложения. Для их использования нужно выполнить определенные настройки проекта.

Первое, что нужно сделать, это настроить сервер. Для этого идем в меню Run -> Edit Configurations… В открывшемся диалоге Run/Debug Configurations нажимаем на + (зеленый плюс) слева вверху и выбираем PHP Web Application. Это позволит использовать для запуска и отладки локальный сервер (предполагаем, что он уже настроен). Далее в правой части:

  1. Заполняем поле Name (произвольное имя)
  2. Нажимаем на … (троеточие) правее поля Server. Откроется новый диалог Servers. Здесь снова нажимаем + (зеленый плюс) и в правой части заполняем:

    1. Поле Name (произвольное имя)
    2. Host — хост, настроенный для локального сайта
    3. Port— если не меняли, оставляем по умолчанию 80
    4. Debugger — выбираем Xdebug или Zend Debugger
    5. Apply и OK
  3. Start URL — если корневая директория сайта, оставляем / или вписываем нужный путь
  4. В поле Browser можно выбрать браузер, в котором будет запускаться приложение
  5. В Before launch можно настроить дополнительные шаги перед запуском: сторонние скрипты, билдеры и т.д.
  6. Apply и OK

После этого можно запустить проект выбрав Run -> Run… 

Для запуска приложения в режиме отладке нужно дополнительно установить и настроить debugger.

Для установки Xdebug нужно его скачать. Сделать это можно по ссылке https://xdebug.org/download.php. Здесь главное правильно выбрать версию, иначе Xdebug просто не запуститься. Выбирать нужно исходя из установленной версии PHP, разрядности системы и потокобезопасности. В моем случае это была PHP 7.0 VC14 TS (64 bit).

Сохраняем скаченный файл в папку с расширениями для php (что-то вроде C:Program Filesphpext) и добавляем в php.ini:


Это минимальные настройки, необходимые, чтобы Xdebug заработал в связке с PhpStorm. Перезапускаем сервер и проверяем phpinfo(), там должна появится секция xdebug. Если не появилась, значит скорее всего скачали не ту версию Xdebug.

Теперь, чтобы запустить приложение в режиме отладки, нажимаем Run -> Start Listening for PHP Debug Connections, ставим точки остановки или отмечаем Run -> Break at first line in PHP script, и запускаем Run ->Debug…

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

blog.rc21net.ru

1. Подготовка
Xdebug уже встроен в OpenServer и качать нам его не понадобится

Если все же нужен другой релиз xdebug его можно скачать отсюда http://xdebug.org/download.php
и переместить в
e:OpenServermodulesphpPHP-5.4.17ext
не забыв прописать в php.ini путь к нему (zend_extension)

——

2. Редактируем php.ini (e:OpenServeruserdataconfigPHP-5.4.17_php.ini)
Должны быть эти обязательные настройки

[Xdebug] zend_extension="%sprogdir%/modules/php/%phpdriver%/ext/php_xdebug.dll" xdebug.idekey = "PHPSTORM" xdebug.profiler_enable_trigger = 1 xdebug.profiler_output_dir="%sprogdir%/userdata/temp/xdebug/" xdebug.profiler_output_name = "cachegrind.out.%H%R" xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_port = 9000 xdebug.trace_output_dir = "%sprogdir%/userdata/temp/xdebug/" 

Перезапускаем OpenServer
Смотрим чтобы была временная папка xdebug >
e:OpenServeruserdatatempxdebug


——

3. Добавляем в браузер закладки со страницы http://www.jetbrains.com/phpstorm/marklets/ после нажатия Generate (IDE key: PHPSTORM)

Изображение

Код закладок имеет такой вид >

Start debugger

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

Stop debugger

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

Debug this page

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';document.location.reload();document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

Start profiler

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_PROFILE='+'1'+';path=/;';})()

Stop profiler


javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_PROFILE='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

Start tracer

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_TRACE='+'1'+';path=/;';})()

Stop tracer

javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_TRACE='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

В гугл хроме после добавления закладок используем ctrl+shift+O для перемещения их в удобное место — отмечаем на шифте их и перетягиваем в начало списка закладок
Ctrl+Shift+B отображает / скрывает панель закладок сверху страницы

——

4. Настройка PHPStorm

Изображение

Изображение

File > Settings > PHP >
PHP language level: > выбираем соответствующую версию пхп (5.4)
Interpreter > кликаем на …
PHP Home > корневой путь к пхп (E:OpenServermodulesphpPHP-5.4.17)
Debugger > Xdebug
Name > PHP (можно любое другое)

File > Settings > PHP > Servers >
Name: > домен создаваемого сайта
Host > домен создаваемого сайта (например: myblog.loc)
Port > 80

Желательно чтобы название сервера совпадало с хостом (так шторм по-умолчанию прописывает, если ранее не указали).
Указываем сами чтобы избежать вопроса о расположении файлов при запуске первой отладки.


Изображение

Изображение

——

5. Открываем нужную страницу в браузере которую будем отлаживать
Нажимаем с закладок Start debugger (у меня start Xdebug, кому как удобно название)

Изображение

В phpstorm включаем Listen PHP Debug Connections (значок телефонной трубки)
В коде сайта определяем точку остановки > Ctrl + F8

Изображение

ОБНОВЛЯЕМ страницу в браузере, тем самым увидели остановку сайта и перехват штормом всех данных, которые получили до точки прерывания

Изображение

——

6. Профилирование в phpstorm
Нажимаем с нужной страницы сайта Start profiler, обновляем, переходим по страницам сайта для отслеживания их работы.
Этим мы записали лог выполнения скриптов страниц в файлы > e:OpenServeruserdatatempxdebugcachegrind.out.[путь_к_странице]
где каждой странице создается файл.
Если обновить или зайти по уже ранее открытой странице сайта, обновится содержимое лог-файла.
Когда прекратили сбор информации нажимаем с закладок Stop profiler


Нажимаем в шторме
Tools > Analyze Xdebug Profiler Snapshot > выбираем файл профилирования
(E:OpenServeruserdatatempxdebugcachegrind.out……………..)

Изображение

Изображение

Все файлы логов работы страниц будут храниться во временной папке …userdatatempxdebug до очередного запуска OpenServer (то есть сотрутся если нажать перезапустить сервер или остановить, запустить)
Но после остановки сервера файлы профилирования все еще сохраняются!

——

7. Не забываем чтобы была указана необходимая версия PHP в OpServ-e > Настройки — Модули.

з.ы. За основу использовался материал отсюда > http://webdev-tales.ru/post/19072925255 … g-phpstorm

Изображение

ospanel.io

Установка xDebug

Ставим xdegub на виртуальную машину, предварительно подключившись к ней по ssh через vagrant (vagrant ssh


). Команда для установки xdebug:

sudo apt-get install -y php5-xdebug

При установленном xdеbug информация о нём будет присутствовать в php.ini, проверим, так ли это:

 $ php -r "var_dump(phpinfo());" | grep xdebug /etc/php5/cli/conf.d/20-xdebug.ini xdebug xdebug support => enabled xdebug.auto_trace => Off => Off xdebug.cli_color => 0 => 0 xdebug.collect_assignments => Off => Off xdebug.collect_includes => On => On ... 

Настройка xDebug php.ini

Host, port и идентификационный номер нужно прописать одинаковые и в настройках php.ini, и в настройках phpstorm. 

 sudo vim /etc/php5/cli/conf.d/20-xdebug.ini

Конфиг /etc/php5/cli/conf.d/20-xdebug.ini инклудится в php.ini. Поэтому добавляем в этот файл следующие настройки для xdebug (они будут задействованя как для php cli так и для fpm):

 xdebug.remote_autostart = on xdebug.remote_enable = on xdebug.remote_connect_back = on  xdebug.remote_host = 192.168.15.1  xdebug.remote_port = 9003 xdebug.remote_handler = dbgp xdebug.idekey = wi-backend 

Где:

  • xdebug.remote_autostart — самая важная строка, отвечает за autostart.
  • remote_ host — это реальный Ethernet ip вашей машины (посмотреть можно в ifconfig — vboxnet0)
  • remote_port — задаём так же как и в настройках IDE
  • xdebug.idekey — такое же название как и в IDE.

Настройка xDebug phpstorm

Открываем меню File -> Settings.

Настраиваем PHP -> Servers.

Настраиваем как на скриншоте, задавая своё имя для приложения. Там где vagrant path — указываем путь до проекта внутри виртуальной машины vagrant. Путь может как совпадать с путём на основной машине, так может и отличаться и монтироваться в другую папку.

Xdebug phpstorm настраиваем PHP -> Servers

Настраиваем DBGp proxy

Тут всё должно быть понятно, указываем IDE key и Port такие же, как задали в php.ini. В качестве Host указываем ip виртуальной машины, тот что в файле Vagrantfile.

xDebug PHPStorm настройка DBGp proxy для дебага Vagrant

Использование xDebug c PHPStorm

В IDE PHStorm выставляем breakpoints, кликая возле строчек кода. Далее дебаггер будет делать остановку на этих точках.

xDebug phpstorm расставляем breakpoints для дебага

Запустив в браузере wi-backend.local (хост на vagrant-машине), дебаггер срабатывает для него и останавливается на точках останова (breakpoints). Дебаггер срабатывает, только если он включен в IDE (см. скриншот) — Start/Stop listening for PHP Debug Connections.

То же самое c xDebug для cli.

Выполнение cli-скрипта без xDebug:

 bin/cli.php test

Выполнение cli-скрипта с xDebug. Нужно передавать ENV-параметр PHP_IDE_CONFIG:

 PHP_IDE_CONFIG="serverName=wi-backend.local" bin/cli.php test

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

jeka.by

Содержание

  • Установка Xdebug на виртуальный сервер
  • Настройка Xdebug в PHPStorm
  • Не работает Xdebug, что делать?

Установка Xdebug на виртуальный сервер

Устанавливать Xdebug будем на нашу серверную ubuntu, которые мы установили из прошлых статей на VirtualBox.
Итак для начала логинимся на сервер по ssh, запускаем PuTTY, вводим команду установки.

После установки открываем файл с настройками Xdebug на редактирование /etc/php5/conf.d/xdebug.ini

и добавляем следующие строки

Вкратце пробежимся по каждому параметру:

  • xdebug.remote_enable — параметр, позволяющий устанавливать Xdebug контакт с дебаг клиентом, который прослушивает порт и хост, установленные параметрами xdebug.remote_host и xdebug.remote_port.
  • xdebug.remote_host — ip адрес хоста, с которого будет запущен дебагер, проще говоря, это — ip адрес вашей машины, на которой у вас установлен phpstorm.

Перезапускаем apache.

На этом наши настройки на сервере закончены, теперь отправляемся в PHPStorm.

Настройка Xdebug в PHPStorm

Переходим на вкладку Run/Debug Configurations через меню Run → Edit Configurations. Жмем на кнопку add.png, из выпадающего списка выбираем PHP Web Application.
xdebug_add_new.png
В окне настроек сразу присваиваем имя дебагеру и указываем, что дебагер будем запускать из FireFox.
xdebug_settings_step_1.png
Теперь необходимо выбрать сервер, который позволит PHPStorm связываться с Xdebug. По кнопке add_server.png откроется окно Servers, на котором добавляем свой собственный сервер с помощью кнопки add.png. Даем имя серверу, в поле Host вводим localhost, в поле Port — 9000 (порт по умолчанию в Xdebug).
xdebug_settings_step_2.png
Затем необходимо проверить валидность введенных параметров с помощью кнопки Validate remote environment. Появится новое окошко, в нем выбираем уже созданный сервер для синхронизации файлов (в нашем случае ubuntu-test)
xdebug_settings_step_3.png
и переходим в его параметры по кнопке add_server.png
Немного подкорректируем настройки. На вкладке Connection изменяем Web server root URL с ip адреса на доменное имя проекта.
xdebug_settings_step_4.png
Затем переходим на вкладку Mappings и указываем соответствие путей и папок, где непосредственно лежит Drupal проект.
xdebug_settings_step_5.png
Применяем настройки и возвращаемся в окно Validate Remote Environment, проверяем валидность введенных параметров. Если у вас сообщение подобно этому, то все сделано правильно.
xdebug_settings_step_6.png
Закрываем окно и возвращаемся в окно Серверы. Ставим галочку Use path mappings и дописываем путь к корневой папки сайта на сервере.
xdebug_settings_step_7.png
Подтверждаем изменения и возвращаемся в окно Run/Debug Configurations. Здесь изменяем url сайта в поле Start Url на доменное имя, т.е. для devsite — http://devsite
Закрываем окно, подтвердив изменения, ставим точку останова, например, в index.php и запускаем дебаггер через меню Run → Debug ‘devsite-xdebug’ (Debug + имя сервера для дебага) или по кнопке run_debug.png. Если все настройки введены верно, выполнения скрипта остановится на том breakpoint, который был установлен.
xdebug_settings_step_8.png

Не работает Xdebug, что делать?

Что делать, если вдруг вы обнаружили, что когда-то удачно настроенный Xdebug перестал останавливать скрипт на брейкпоинтах. После долгих и упорных поисков ничего не обнаружено, validation script прекрасно отрабатывает и показывает следующую картинку
xdebug_settings_step_6.png
Remote host: 192.168.0.104 — это ip адрес, по которому Xdebug связывается с вашей локальной машиной. Обратите внимание(!), что PHPStorm показывает те настройки, которые выставлены параметром xdebug.remote_host. В данной ситуации выполним следующее:

  • идем в конфиг Xdebug (/etc/php5/conf.d/xdebug.ini)
  • и дописываем параметр

    Данный параметр будет игнорировать xdebug.remote_host и искать ip адрес машины, запустившей дебаг процесс, в переменной $_SERVER[‘REMOTE_ADDR’].

  • Перезапускаем apache.
  • Ставим брейкпоинт и запускаем дебагер.

Если скрипт остановился на нужном брейкпоинте — значит, проблема в неверно указанном параметре xdebug.remote_host и самое время проверить ip локальной машины.
Сделать это можно несколькими способами. Самый распространенный — запустить командную строку cmd и набрать ipconfig. Или же, раз уже запущен дебагер, посмотреть содержимое переменной $_SERVER[‘REMOTE_ADDR’].
remote address

Итак, выяснили, что ip адреса отличаются. Корректируем параметр xdebug.remote_host и комментим строку с xdebug.remote_connect_back=1 (либо выставляете значение 0). Если же у вас ip адрес формируется динамически (как в моем случае), то можно вообще оставить параметр xdebug.remote_connect_back=1, при условии, что кроме вас никто не имеет доступ к этому серверу. В противном случае, любой сможет начать дебаг сессию, даже если его ip не совпадает с параметром xdebug.remote_host.

Также распространенной проблемой отказа работы Xdebug являются антивирусы (либо фаерволы). Временно отключите антивирус и проверьте, не блокирует ли он запросы от удаленного сервера (такая ситуация была с avast).

nightdevel.ru

Проблема в следующем
xDebug установлен, но PHPStorm никак не хочет с ним работать. Сервер локальный Apache/2.4.23 (Unix)
Бьюсь уже не первый день, очень прошу помощи.

Операционная система macOS Sierra 10.12.1

php -v PHP 5.6.27 (cli) (built: Oct 24 2016 16:08:27)  Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies  with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies  with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans  php --ini Configuration File (php.ini) Path: /usr/local/etc/php/5.6 Loaded Configuration File: /usr/local/etc/php/5.6/php.ini Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d Additional .ini files parsed: /usr/local/etc/php/5.6/conf.d/ext-apcu.ini, /usr/local/etc/php/5.6/conf.d/ext-opcache.ini, /usr/local/etc/php/5.6/conf.d/ext-ssh2.ini, /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini

Из phpinfo()
9afc2484b6134186a2e73b7f3e8d61d9.png91ee56aeca0143a0bf73b9f2803a1e9d.png

PHPStorm
45c74fa0f4434749b959bb78942f0879.png

/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini

zend_extension="/usr/local/Cellar/php56-xdebug/2.4.1/xdebug.so"  xdebug.remote_autostart=on xdebug.remote_enable=on xdebug.remote_handler="dbgp" xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_mode=req xdebug.idekey="PHPSTORM"

PHPStorm Run | Web Server Debug Validation
3a9fbcf2fe3e4776b4f765be4be757dc.jpgac6a220692bf434aac64949188f1decf.png8f518965bdd04a7ba2d32eb9c512646c.pngaf68e5c43e9e480e82876d11682160ec.pnga3d03480171c4a95a2ddd9e12920bf43.jpg

Chrome:
ef2feaaa20df46c59400ac5f78fd8894.pngbd43690919c04f62985aa6f3e580a657.png
Брейк поинт на скрипте который дебажу стоит, в браузере запускаю страницу, брейкпоинт на которой поставил

toster.ru

На данный момент, PhpStorm – одна из лучших IDE для разработки на языке PHP, которая предоставляет множество возможностей для разработчика, такие как запуск PHP-скриптов, благодаря возможности подключения внешнего интерпретатора PHP и отладку через расширение Xdebug.

В этой статье мы рассмотрим возможность подключения интерпретатора PHP, отладчика Xdebug к PhpStorm и использование встроенного в IDE web-сервера.

Начнем с установки отладчика Xdebug в PHP.

Установка Xdebug

Первым делом скачаем и установим сам интерпретатор PHP по ссылке: http://php.net/downloads.php

Далее нужно произвести начальную настройку PHP и прописать в переменную окружения PATH путь к интерпретатору. Чтобы не повторяться, весь необходимый порядок действий мной описан в этой статье: Установка Composer и снятие ограничения количества обращений к GitHub

Теперь можно перейти к установке отладчика Xdebug, для которого существует специальный помощник, значительно упрощающий процедуру установки. Для его использования перейдем по ссылке: https://xdebug.org/wizard.php

На этой странице, необходимо ввести в поле ввода информацию об установленном PHP-интерпретаторе, которая генерируется с помощью PHP-функции phpinfo(). Вводить нужно весь скопированный текст со страницы.

Или, введя в консоль команду php -i, которая генерирует информацию о PHP.

Копируем полученную информацию, нажимаем кнопку Analyse my phpinfo() output и получаем инструкцию по установке Xdebug.

В зависимости от вашей версии PHP и пути установки инструкция может отличаться от моей:

  • Скачиваем библиотеку Xdebug для PHP версии 5.6.19 по ссылке: php_xdebug-2.4.0-5.6-vc11-nts.dll
  • Перемещаем её в папку C:phpext
  • В файл C:phpphp.ini находим секцию Dynamic Extensions и добавляем следующую строку:
    zend_extension = C:phpextphp_xdebug-2.4.0-5.6-vc11-nts.dll

Подключение интерпретатора PHP к PhpStorm

Теперь перейдем в PhpStorm и откроем настройки комбинацией клавиш Ctrl+Alt+S.

Далее, в секции Languages & Frameworks выберем пункт PHP. В этой секции необходимо назначить интерпретатор для IDE в пункте Interpreter нажав на кнопку

В открывшемся окне, в поле Name вводим любое имя для удобства дальнейшей идентификации, например: PHP 5.6.11.

В поле PHP executable указываем путь до интерпретатора, например: C:phpphp.exe. Обратите внимание на появившуюся версию PHP и дебагера, что свидетельствует о правильности установки.

Чтобы убедиться в том, что правильно отрабатывает подключенный интерпретатор PHP, создадим в PhpStorm новый проект, добавим к нему файл index.php и запишем в этот файл, например, функцию var_dump([ 1, 2, 3 ]) с переданным в неё массивом.

Нажав правой кнопкой мыши на этом файле, выберем Open in Browser -> Default.

На странице мы видим характерный вывод var_dump(), который генерируется с помощью Xdebug. И, если посмотреть на заголовки ответа через консоль разработчика, то мы увидим, что всё работает верно:

server:PhpStorm 2016.1  X-Powered-By:PHP/5.6.19

Начальная настройка Xdebug и установка его под линукс описана в статье Установка модуля Xdebug для PHP под Ubuntu Linux

Работа с отладчиком Xdebug в PhpStorm

Прежде чем приступит к отладке PHP-скриптов с помощью Xdebug произведем необходимую настройку в файле php.ini. В секции Dynamic Extensions после подключения расширения Xdebug добавим следующие настройки:

xdebug.remote_enable=1  xdebug.remote_port=9000  xdebug.profiler_enable=1  xdebug.profiler_output_dir="c:phptmp"

Теперь зайдем в PhpStorm и откроем настройки. Перейдем в Languages & Frameworks -> PHP -> Debug. В секции Xdebug убедимся, что установлены следующие настройки:

Debug port: 9000  Установлен флажок Can accept external connections

Чтобы проверить, что все действия были проведены верно, добавим в уже имеющийся в проекте файл index.php следующий код:

<?php  $arr = [ 1, 2, 3 ];  var_dump( $arr );

И поставим точку остановки на переменной $arr.

Теперь запустим отладку этого скрипта, нажав правую кнопку мыши и выбрав пункт Debug ‘index.php’. Если все было сделано правильно, то в PhpStorm появится вывод дебага, как показано на скриншоте.

В итоге, мы получили мощный и удобный инструмент для отладки PHP-скриптов с подключенным интерпретатором PHP, а также возможность запускать скрипты через встроенный в PhpStorm локальный web-сервер.

bogdanov-blog.ru

1. установить модуль xdebug (шаги установки MAC)
1.1.1. проверьте, какую версию PHP можно использовать с помощью php --ini (см. загруженный файл)
1.1.2. brew search xdebug
1.1.3. brew установить phpXX-xdebug
1.1.4. подробности: php -i | grep xdebug
1.2. перезагрузить сервер
1.3. конфигурация
1.3.1. sudo find /usr -name 'xdebug.so'
1.3.2. скопируйте путь точного, который вам нужен
example: /usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so
1.3.3. отредактируйте файл конфигурации, связанный с расширением, который должен быть автоматически добавлен в основной php.ini:
subl /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini
1.3.4. добавьте zend_extension, чтобы быть = путь, скопированный выше

 [xdebug]   zend_extension="/usr/local/Cellar/php56-xdebug/2.3.2/xdebug.so" 

Обычный файл должен иметь что-то вроде этого:

[xdebug] zend_extension="/usr/local/Cellar/php56/5.6.4/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"   xdebug.remote_enable=1 xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler="dbgp" xdebug.remote_autostart=1 xdebug.profiler_enable=1 xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp" xdebug.idekey=PHPSTORM 

2. проверьте свою версию PHP
php --ini
3. настройка параметров IDE
предпочтения > языки и рамки > PHP >
3.1. установите уровень языка на правильную версию PHP этого проекта
3.2. установить интерпретатор (установить родительский каталог, где загружается каталог bin исполняемого файла PHP)
 3.2.1. нажмите кнопку… > нажмите кнопку + > другой локальный > установить PHP Исследуемый путь,
найти тип пути в терминале: $ which php
example: /usr/local/Cellar/php56/5.6.5/bin/php
4. перезапустить phpstorm
5. теперь позволяет заставить его работать
5.1. запустить > изменить конфигурацию > нажмите зеленую кнопку + в левой части > выберите b. веб-приложение php
5.2. name: anything example ur {имя приложения — отладчик}
5.3. server: localhost (browse > + > name: whatever | host: localhost или 127.0.0.1)
5.4. нажмите ОК
5.5. start url: ссылка главной страницы проекта ur: http://127.0.0.1:80/SomethingNew/
5.6. нажмите ОК
6. теперь установите точку прерывания и нажмите кнопку отладки

qaru.site


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.