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

от автора

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

Получив разноплановые отклики в виде комментариев и «кармы» на свою первую статью на Хабре «Фреймворк на 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=...

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


ссылка на оригинал статьи https://habr.com/ru/articles/572402/


Комментарии

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

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