Благодарю за отклики
Получив разноплановые отклики в виде комментариев и «кармы» на свою первую статью на Хабре «Фреймворк на 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))?
Большим подспорьем в решении данного вопроса автору данной статьи оказало ознакомление со следующими статьями на английском языке:
- «Installing Xdebug for XAMPP with PHP 7.x», odan, 2021. (Поставил звезду на GitHube. Был 1225'ым.)
- «Installing XDEBUG for XAMPP with PHP in Windows», Ahmed Thaajwer, 2019.
В каждой статье есть много полезного и интересного.
Технические требования задачи
Будем руководствоваться следующими техническими требованиями:
- Установить Xdebug
- в XAMPP на локальном компьютере с Windows x86 (32 разряда)
- с PHP 7.* .
- Установить, если потребуется в вашей конфигурации, файл
с «The latest supported Visual C++ downloads».vc_redist.x86.exe
- Использовать 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. Предпоследний
- Переходим к «Шагу 1».
Послесловие
Иногда, если у вас возникает ошибка, проверьте ваш файл
php.ini
.Возможно, что в файле есть дополнительный код zend_extension
zend_extension=...
, тогда его нужно закомменитровать «;»
;zend_extension=...
Буду рад, если этот пост окажется для кого-то полезным.