Как стать автором
Обновить

CodeIgniter 4: Подготовка к PHPUnit. Устанавливаем Xdebug в XAMPP (Windows 32-разрядная (x86))

Время на прочтение3 мин
Количество просмотров4K


Благодарю за отклики


Получив разноплановые отклики в виде комментариев и «кармы» на свою первую статью на Хабре «Фреймворк на PHP: CodeIgniter 4. «Лёгкий пример» использования Database Migrations (миграций) и Seeding (посев)», особенно хочется отметить тех членов сообщества, которые разделили точку зрения автора и в своих комментариях нашли нужные слова, чтобы поддержать автора в его намерении поделиться впечатлениями, что CodeIgniter 4 — это актуально.


Предполагалось, что заинтересованный читатель прочтёт статью и посмотрит, а то и установит к себе на локальный компьютер, код уже готового репозитория на GitHub'е, а необходимые пояснения посмотрит в документации CodeIgniter 4 «Build Your First Application» («Создайте свое первое приложение»). Благо, что статья насыщена всевозможными достаточно детальными ссылками.


Продолжая придерживаться простого принципа бритвы Оккамы: «Не следует множить сущности без необходимости» и дополняя его одним из принципов инженерного (научного) мировоззрения «ссылки на первоисточники», рассмотрим как установить Xdebug в XAMPP на локальном компьютере, а именно в Windows x86 (32 разряда).


Зачем нужен Xdebug?


  • Xdebug — это расширение для PHP, которое позволяет, помимо прочего, производить анализ покрытия кода, т.е с его помощью можно увидеть какие части вашего кода выполняются при запуске модульных тестов PHPUnit.
  • В файле codeigniter4-build-your-first-application/tests/README.md в разделе «Requirements» («Требования») прямо говорится: «You also need to install XDebug in order for code coverage to be calculated successfully ().» («Вам также необходимо установить XDebug для успешного расчёта покрытия кода.»)
  • Поскольку приложение из «Лёгкого примера» — предмет статьи, с которой начиналась данная статья, построено на базе «CodeIgniter 4 app starter». («CodeIgniter 4 начальное приложение»), то там тоже есть файл appstarter/tests/README.md с таким же требованием по Xdebug.
  • Хотя в самой документации Codeigniter4 Xdebug упоминается один раз, и то вскользь, в разделе «Replace var_dump», кажется разумным следовать технической документации на GitHub'е. Поэтому Xdebug желательно установить на свой локальный компьютер в XAMPP.

Как установить Xdebug в XAMPP (Windows 32-разрядная (x86))?


Большим подспорьем в решении данного вопроса автору данной статьи оказало ознакомление со следующими статьями на английском языке:



В каждой статье есть много полезного и интересного.


Технические требования задачи


Будем руководствоваться следующими техническими требованиями:


  • Установить Xdebug
  • в XAMPP на локальном компьютере с Windows x86 (32 разряда)
  • с PHP 7.* .
  • Установить, если потребуется в вашей конфигурации, файл
    vc_redist.x86.exe
    с «The latest supported Visual C++ downloads».
  • Использовать Git Bash.
  • Текст сопровождения решения задачи должен быть на русском.

Установка Xdebug в XAMPP


Шаг 1. Тестируем наличие Xdebug


  • Запускаем (перезапускаем) XAMPP.
  • Открываем Git Bush в любом каталоге (директории, папке).
  • В командной строке Git Bush запускаем команду с опцией

    php -v

Если вы видите что-то наподобие :




with Xdebug v2.9.7
, то

всё получилось или и так всё было.


Если нет и перед вами что-то такое :



, то переходим к шагу 2.

Шаг 2. Скачиваем динамическую библиотеку Xdebug


На сайте Xdebug на странице Downloads в разделе «Latest Release» и секции «Windows binaries» выбираем актуальную для вас ссылку для скачивания динамической библиотеки :



Для продолжения работы в рамках настоящей статьи актуальна Windows binaries:


PHP 7.3 VC15 TS (32 bit)
.

Шаг 3. Перемещаем загруженный файл dll в: C:\xampp\php\ext\


Скаченный файл в нашем случае это :


php_xdebug-2.9.7-7.3-vc15.dll

перемещаем (копируем) в каталог

pathBeforeYourXAMPP\xampp\php\ext\



Шаг 4. Редактируем файл php.ini


Открываем в вашем любимом редакторе файл

pathBeforeYourXAMPP\xampp\php\php.ini



  • Отключаем буферизацию вывода:
    output_buffering = Off


  • Прокручиваем вниз до раздела «XDebug» (или создаём его) и копируем / вставляем ниже представленные строки:

    [XDebug]
    zend_extension="c:\xampp\php\ext\php_xdebug-2.9.7-7.3-vc15.dll"
    xdebug.remote_autostart=1
    xdebug.profiler_append=0
    xdebug.profiler_enable=0
    xdebug.profiler_enable_trigger=0
    xdebug.profiler_output_dir="c:\xampp\tmp"
    ;xdebug.profiler_output_name="cachegrind.out.%t-%s"
    xdebug.remote_enable=1
    xdebug.remote_handler="dbgp"
    xdebug.remote_host="127.0.0.1"
    xdebug.remote_log="c:\xampp\tmp\xdebug.txt"
    xdebug.remote_port=9000
    xdebug.trace_output_dir="c:\xampp\tmp"
    ;36000=10h
    xdebug.remote_cookie_expire_time=36000

    Получаем, что-то на вроде этого :




Шаг 5. Предпоследний



Послесловие


Иногда, если у вас возникает ошибка, проверьте ваш файл


php.ini
.

Возможно, что в файле есть дополнительный код zend_extension

zend_extension=...

, тогда его нужно закомменитровать «;»

;zend_extension=...


Буду рад, если этот пост окажется для кого-то полезным.

Теги:
Хабы:
Всего голосов 10: ↑2 и ↓8-6
Комментарии30

Публикации

Истории

Работа

PHP программист
73 вакансии

Ближайшие события