Подготовка к 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 (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.* .
- Установить, если потребуется в вашей конфигурации, файл
vc_redist.x86.exe
с «The latest supported Visual C++ downloads». - Использовать Git Bash.
- Текст сопровождения решения задачи должен быть на русском.
Установка Xdebug в XAMPP
Шаг 1. Тестируем наличие Xdebug
- Запускаем (перезапускаем) XAMPP.
- Открываем Git Bush в любом каталоге (директории, папке).
- В командной строке Git Bush запускаем команду с опцией
Если вы видите что-то наподобие :
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=...
Буду рад, если этот пост окажется для кого-то полезным.
Скачать XAMPP
XAMPP является простым дистрибутивом Apache для установки. Он содержит MySQL, PHP и Perl. Il suffit de télécharger et de lancer l’installateur. C’est aussi simple que ça.
XAMPP для
Windows 7.4.33, 8.0.25 и 8.1.12Версия | Код проверки | Тайле | ||
---|---|---|---|---|
7.4.33 / PHP 7.4.33 | Содержание |
| Телезарядное устройство (64 бит) | 141 Мб |
8. 0.25 / PHP 8.0.25 | Содержание |
| Телезарядное устройство (64 бит) | 143 Мб |
8.1.12 / PHP 8.1.12 | Содержание |
| Телезарядное устройство (64 бит) | 147 Мб |
- Предварительные требования
Включено: Apache 2. 4.54, MariaDB 10.4.27, PHP 7.4.33, phpMyAdmin 5.2.0, OpenSSL 1.1.1, Панель управления XAMPP 3.2.4, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP-сервер 0.9.41, Tomcat 8.5.78 (с mod_proxy_ajp в качестве соединителя), Strawberry Perl 5.32.1.1 Portable
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 8.0.25, phpMyAdmin 5.2.0, OpenSSL 1.1.1, Панель управления XAMPP 3.2.4, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 8.5.78 (с mod_proxy_ajp в качестве коннектора), Strawberry Perl 5.32.1.1 Portable
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 8.1.12, phpMyAdmin 5.2.0, OpenSSL 1.1.1, Панель управления XAMPP 3.2.4, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Сервер 0.9.41, Tomcat 8.5.78 (с mod_proxy_ajp в качестве соединителя), Strawberry Perl 5.32.1.1 Portable
Windows 2008, 2012, Vista, 7, 8 (Важно: XP или 2003 не поддерживаются)
Windows XP или 2003 не поддерживаются.
XAMPP для
Linux 7.4.33, 8.0.25 и 8.1.12Версия | Код проверки | Тайле | ||
---|---|---|---|---|
7.4.33 / PHP 7.4.33 | Содержание |
| Телезарядное устройство (64 бит) | 148 Мб |
8.0.25 / PHP 8.0.25 | Содержание |
| Телезарядное устройство (64 бит) | 152 Мб |
8. 1.12 / PHP 8.1.12 | Содержание |
| Телезарядное устройство (64 бит) | 152 Мб |
- Предварительные требования
- Plus de téléchargements »
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 7.4.33 + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2.0 , OpenSSL 1.1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4.5 , Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.
Включено: Apache 2.4.54, MariaDB 10.4.247, PHP 8.0.25 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1.1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 8.1.12 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1. 1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Поддерживаются почти все дистрибутивы Linux, включая Debian, RedHat, CentOS, Ubuntu, Fedora, Gentoo, Arch, SUSE.
XAMPP для
OS X 7.4.33, 8.0.25 и 8.1.12Версия | Код проверки | Тайле | ||
---|---|---|---|---|
7.4.33 / PHP 7.4.33 | Содержание |
| Телезарядное устройство (64 бит) | 163 Мб |
8. 0.25 / PHP 8.0.25 | Содержание |
| Телезарядное устройство (64 бит) | 162 Мб |
8.1.12 / PHP 8.1.12 | Содержание |
| Телезарядное устройство (64 бит) | 163 Мб |
- Предварительные требования
- Plus de téléchargements »
Включено: Apache 2. 4.54, MariaDB 10.4.27, PHP 7.4.33 + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2.0 , OpenSSL 1.1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4.5 , Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5 0,8, мегахеш 0,9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 8.0.25 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1.1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2. 0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Включено: Apache 2.4.54, MariaDB 10.4.27, PHP 8.1.12 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1.1.1s, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Mac OS X 10.6 или более поздней версии. Для виртуальных машин: Mac OS X 10.6 или новее и процессор Intel (x64); не поддерживается на процессорах M1 (arm64).
Собственный установщик устанавливает MariaDB, PHP, Perl и т. д. непосредственно в вашу систему macOS. Он поддерживает процессоры Intel (x64) или Apple M1 (arm64).
XAMPP для
OS X (VM) 7.4.29, 8.0.19 и 8.1.6Версия | Код проверки | Тайле | ||
---|---|---|---|---|
7.4.29 / PHP 7.4.29 | Содержание |
| Телезарядное устройство (64 бит) | 360 Мб |
8.0.19 / PHP 8.0.19 | Содержание |
| Телезарядное устройство (64 бит) | 360 Мб |
8. 1.6 / PHP 8.1.6 | Содержание |
| Телезарядное устройство (64 бит) | 361 Мб |
- Предварительные требования
- Plus de téléchargements »
Включено: Apache 2.4.53, MariaDB 10.4.24, PHP 7.4.29 + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2.0 , OpenSSL 1.1.1o, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4.5 , Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2. 4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Включено: Apache 2.4.53, MariaDB 10.4.24, PHP 8.0.19 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1.1.1o, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Включено: Apache 2.4.53, MariaDB 10.4.24, PHP 8.1.6 и PEAR + SQLite 2.8.17/3.38.5 + многобайтовая (mbstring) поддержка, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2. 0, OpenSSL 1. 1.1o, GD 2.2.5, Freetype2 2.4.8, libpng 1.6.37, gdbm 1.8.3, zlib 1.2.11, expat 2.0.1, Sablotron 1.0.3, libxml 2.0.1, Ming 0.4. 5, Webalizer 2.23-05, класс pdf 0.11.7, ncurses 5.9, класс pdf 0.11.7, mod_perl 2.0.12, FreeTDS 0.91, gettext 0.19.8.1, IMAP C-Client 2007e, OpenLDAP (клиент) 2.4.48, mcrypt 2.5.8, mhash 0.9.9.9, cUrl 7.53.1, libxslt 1.1.33, libapreq 2.13, FPDF 1.7, библиотека ICU4C 66.1, APR 1.5.2, APR-utils 1.5.4
Mac OS X 10.6 или более поздней версии. Для виртуальных машин: Mac OS X 10.6 или новее и процессор Intel (x64); не поддерживается на процессорах M1 (arm64).
Виртуальная машина (ВМ) устанавливает виртуальную машину в вашу систему macOS. MariaDB, PHP и Perl установлены в Linux на виртуальной машине и не поддерживают процессоры Apple M1 (arm64). Узнайте больше о опции VM в разделе часто задаваемых вопросов XAMPP-VM.
XAMPP — просмотр файлов на SourceForge.net
Прислано вам: Бельтранруда, битнами, косвальдс, квогельгесанг
Интерактивный файловый менеджер требует Javascript. Пожалуйста, включите его или используйте sftp или scp.
Вы по-прежнему можете просмотреть файлы здесь.
Получить обновления
Домашняя страница
Имя | Модифицированный | Размер | Загрузка информации / Неделя |
---|---|---|---|
XAMPP Windows | 22.11.2022 | ||
XAMPP для Mac OS X | 22.11.2022 | ||
XAMPP Linux | 22. 11.2022 | ||
БЕТА | 26.09.2022 | ||
третьи стороны | 15.06.2022 | ||
безопасность | 09.04.2014 | ||
XAMPP Солярис | 20 сентября 2011 г. | ||
Дополнения для Windows | 10.08.2009 | ||
Дополнения для Linux | 08.08.2003 | ||
ЛАМПП | 11.07.2003 | ||
ВАМПП | 06. |