XAMPP на Windows: установка, запуск Apache и MySQL, htdocs и phpMyAdmin
Коротко
XAMPP - бесплатный набор Apache, MariaDB, PHP и phpMyAdmin для локальной разработки. Скачайте установщик с apachefriends.org, поставьте сборку в C:\xampp, в XAMPP Control Panel нажмите "Start" у Apache и MySQL и положите файлы сайта в C:\xampp\htdocs - он откроется по адресу http://localhost/. Если Apache не стартует, почти всегда занят порт 80: ниже показано, как найти виновника или сменить порт.
Содержание
- Что такое XAMPP и кому он подходит
- Где скачать XAMPP для Windows 10 и 11
- Установка XAMPP по шагам
- Как запустить XAMPP: Apache и MySQL
- Папка htdocs: как запустить сайт через XAMPP
- XAMPP и phpMyAdmin
- Настройка PHP в XAMPP: php.ini и расширения
- Если порт 80, 443 или 3306 занят
- XAMPP не запускается: другие причины
- Обновление и удаление XAMPP
Что такое XAMPP и кому он подходит
XAMPP - бесплатная сборка для локальной разработки от проекта Apache Friends: в одном установщике лежат веб-сервер Apache, СУБД MariaDB (в панели она по старой памяти подписана как MySQL), PHP, Perl и phpMyAdmin. Буквы в названии так и расшифровываются: X - кроссплатформенный (Windows, Linux, macOS), A - Apache, M - MariaDB/MySQL, P - PHP, P - Perl. Установили, нажали две кнопки "Start" - и на компьютере работает тот же стек, что на обычном хостинге.

XAMPP удобен, когда нужно быстро поднять WordPress, проверить PHP-скрипт, открыть чужой проект или пройти учебный курс. Для командной разработки с разными версиями PHP на каждом проекте удобнее Docker или Open Server Panel, где версию PHP можно выбрать для каждого сайта отдельно. В XAMPP одна версия PHP на всю сборку, и номер версии XAMPP совпадает с версией PHP внутри: например, XAMPP 8.4.x содержит PHP 8.4.x.
| Компонент | Где лежит | Порт по умолчанию |
|---|---|---|
| Apache | C:\xampp\apache | 80 и 443 |
| MariaDB (MySQL) | C:\xampp\mysql | 3306 |
| PHP | C:\xampp\php | - |
| phpMyAdmin | C:\xampp\phpMyAdmin | через Apache |
| Файлы сайтов | C:\xampp\htdocs | - |
Где скачать XAMPP для Windows 10 и 11
Скачивайте XAMPP только с официального сайта apachefriends.org: на странице загрузки есть несколько установщиков для Windows с разными версиями PHP. Выберите ту, что стоит на вашем хостинге или нужна проекту - например, для Laravel 12 и 13 нужен PHP 8.2 и новее. Все сборки для Windows 64-битные, отдельно "xampp скачать x64" искать не нужно. Portable-версии и сборки со сторонних сайтов лучше не брать: в них бывают устаревший PHP и чужие правки конфигов.
Перед установкой поставьте свежий пакет Microsoft Visual C++ Redistributable (x64). Без него Apache и PHP могут не запускаться с ошибкой про отсутствующую библиотеку VCRUNTIME140.dll.
Установка XAMPP по шагам
- Запустите скачанный файл
xampp-windows-x64-...-installer.exeи согласитесь на запрос контроля учётных записей. - Если появится предупреждение об UAC, нажмите "OK": оно напоминает, что ставить XAMPP в
C:\Program Filesнельзя. - В окне "Select Components" оставьте Apache, MySQL, PHP и phpMyAdmin. FileZilla FTP Server, Mercury Mail и Tomcat нужны редко, их можно снять.
- В поле "Installation folder" оставьте
C:\xamppили укажите другую папку в корне диска без пробелов и кириллицы. - Снимите галочку "Learn more about Bitnami for XAMPP" и нажимайте "Next" до конца установки.
- Когда брандмауэр Windows спросит про Apache и mysqld, разрешите доступ для частных сетей.
- Оставьте отмеченным "Do you want to start the Control Panel now?" и нажмите "Finish".

Если после установки на рабочем столе нет ярлыка, панель запускается файлом C:\xampp\xampp-control.exe. Закрепите его на панели задач - пригодится каждый день.
Как запустить XAMPP: Apache и MySQL
Окно XAMPP Control Panel - главный инструмент. В строке каждого модуля есть кнопки "Start", "Admin", "Config" и "Logs", а в нижней части выводится журнал событий. Чтобы запустить XAMPP для работы с PHP-сайтом:
- Нажмите "Start" в строке Apache. Название модуля подсветится зелёным, в колонке "Port(s)" появятся 80 и 443.
- Нажмите "Start" в строке MySQL. В колонке портов появится 3306.
- Откройте в браузере
http://localhost/- загрузится стартовая страница "Welcome to XAMPP".

Галочки в колонке "Service" слева от модулей устанавливают Apache и MySQL как службы Windows - тогда они стартуют вместе с системой. Для этого панель нужно запустить от имени администратора (правый клик → "Запуск от имени администратора"). Если компьютер нужен не только для разработки, проще запускать модули вручную, когда они нужны.
Кнопка "Shell" открывает консоль, в которой уже прописаны пути к php и mysql. Проверьте версию PHP:
php -v
mysql -u root -e "SELECT VERSION();"
Чтобы команда php работала в любом окне PowerShell и для Composer, добавьте C:\xampp\php в переменную среды Path. Другие способы проверить версию описаны в статье как узнать версию PHP.
Папка htdocs: как запустить сайт через XAMPP
Всё, что лежит в C:\xampp\htdocs, доступно по адресу http://localhost/. Файл C:\xampp\htdocs\test\index.php откроется как http://localhost/test/. Стандартное содержимое htdocs (стартовая страница XAMPP) можно перенести в отдельную папку, чтобы не мешало.
- Создайте папку
C:\xampp\htdocs\mysite. - Положите в неё файл
index.phpс кодом ниже. - Откройте
http://localhost/mysite/в браузере.
<?php
declare(strict_types=1);
// Простая проверка, что PHP и база работают
echo 'PHP ' . PHP_VERSION . '<br>';
$pdo = new PDO('mysql:host=127.0.0.1;port=3306;charset=utf8mb4', 'root', '', [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
echo 'База: ' . $pdo->query('SELECT VERSION()')->fetchColumn();
Если видите две строки с версиями - сервер готов.
Отдельный домен вместо localhost/mysite
Многие CMS и фреймворки лучше работают в корне домена. Сделайте виртуальный хост mysite.test. Откройте C:\xampp\apache\conf\extra\httpd-vhosts.conf и добавьте в конец:
# Стандартный localhost оставляем первым
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/xampp/htdocs"
</VirtualHost>
<VirtualHost *:80>
ServerName mysite.test
DocumentRoot "C:/xampp/htdocs/mysite/public"
<Directory "C:/xampp/htdocs/mysite/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Затем откройте Блокнот от имени администратора, через "Файл → Открыть" выберите C:\Windows\System32\drivers\etc\hosts и допишите строку:
127.0.0.1 mysite.test
Перезапустите Apache кнопками "Stop" и "Start". Директива AllowOverride All нужна, чтобы работал файл .htaccess с ЧПУ - его настройка разобрана в статье про .htaccess.
Как установить WordPress на XAMPP
- Распакуйте архив WordPress в
C:\xampp\htdocs\wp. - В phpMyAdmin создайте базу
wpс кодировкойutf8mb4_unicode_ci. - Откройте
http://localhost/wp/и в мастере установки укажите: базаwp, пользовательroot, пароль пустой, серверlocalhost.
XAMPP и phpMyAdmin
phpMyAdmin уже встроен: при запущенных Apache и MySQL нажмите "Admin" в строке MySQL или откройте http://localhost/phpmyadmin/. По умолчанию вход выполняется автоматически пользователем root без пароля - это удобно дома, но небезопасно, если компьютер виден в сети.

Чтобы поставить пароль root, выполните в "Shell":
-- Задаём пароль пользователю root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Сложный_пароль_2026';
FLUSH PRIVILEGES;
После этого phpMyAdmin выдаст ошибку доступа. Откройте C:\xampp\phpMyAdmin\config.inc.php и переключите авторизацию на ввод логина и пароля:
// Было: 'config' - вход без формы
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
Для проектов лучше завести отдельного пользователя с правами только на свою базу. Импорт больших дампов, ошибки входа и другие тонкости phpMyAdmin разобраны в материале phpMyAdmin: установка и вход.
Настройка PHP в XAMPP: php.ini и расширения
Файл настроек - C:\xampp\php\php.ini, открывается кнопкой "Config → PHP (php.ini)" в строке Apache. После каждой правки перезапускайте Apache. Что чаще всего меняют:
; Загрузка больших файлов и дампов
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 512M
max_execution_time = 300
; Часовой пояс
date.timezone = Europe/Moscow
; Расширения для Laravel и Composer - уберите точку с запятой
extension=intl
extension=zip
extension=gd
extension=sodium
Подробно о том, где искать php.ini и как проверить, что правки применились, - в статье php.ini: где находится.
Если порт 80, 443 или 3306 занят
Самая частая проблема: при нажатии "Start" в журнале появляется Port 80 in use by "..." with PID 4! или Apache shutdown unexpectedly. Значит, порт уже занят другой программой. Узнайте, какой:
# Кто слушает порт 80
netstat -ano | findstr ":80 "
# Подставьте PID из последнего столбца
tasklist /FI "PID eq 4"

| Кто занял порт | Как освободить |
|---|---|
| PID 4, "System" (служба IIS или WWW) | Отключить службу "World Wide Web Publishing Service" или компонент IIS |
| Skype, Zoom, TeamViewer | Закрыть программу или отключить в её настройках порты 80/443 |
| Другой локальный сервер (Open Server, Docker) | Остановить его перед запуском XAMPP |
| mysqld от прошлой установки MySQL | Остановить службу MySQL в "Службах" Windows |
Службу IIS можно остановить из PowerShell, запущенного от имени администратора:
net stop W3SVC
Set-Service -Name W3SVC -StartupType Disabled
Как сменить порт Apache на 8080
Если освобождать порт не хочется, переведите Apache на другой.
- В строке Apache нажмите "Config → Apache (httpd.conf)".
- Найдите
Listen 80и замените наListen 8080. - Найдите
ServerName localhost:80и замените наServerName localhost:8080. - Для HTTPS откройте "Config → Apache (httpd-ssl.conf)" и замените
Listen 443наListen 4433, а в<VirtualHost _default_:443>- номер порта на 4433. - Нажмите кнопку "Config" в правом верхнем углу панели, затем "Service and Port Settings" и впишите новые порты, чтобы панель проверяла их правильно.
- Запустите Apache и откройте
http://localhost:8080/.
Для MySQL порт меняется в C:\xampp\mysql\bin\my.ini: строки port=3306 в разделах [client] и [mysqld]. Не забудьте указать новый порт в настройках подключения сайта.
XAMPP не запускается: другие причины
MySQL shutdown unexpectedly
Ошибка Error: MySQL shutdown unexpectedly часто появляется после аварийного выключения компьютера: повреждаются служебные файлы InnoDB. Сначала откройте "Logs → mysql_error.log" и посмотрите последние строки. Если там ошибки InnoDB, восстановите служебные таблицы из резервной копии XAMPP:
- Остановите MySQL и закройте панель.
- Переименуйте
C:\xampp\mysql\dataвdata_old. - Скопируйте папку
C:\xampp\mysql\backupи назовите копиюdata. - Перенесите из
data_oldв новуюdataпапки своих баз (кромеmysql,performance_schema,phpmyadmin,test) и файлibdata1. - Запустите MySQL. Если всё работает, папку
data_oldможно удалить позже.
Не удаляйте ibdata1 и файлы ib_logfile* наугад: в них хранятся данные таблиц InnoDB, без них базы не откроются.
Короткие решения других ошибок
- "XAMPP Control Panel is not run as administrator" - предупреждение, а не ошибка. Оно мешает только установке служб.
- Apache стартует и сразу падает без сообщения о порте - ошибка в
httpd.confилиhttpd-vhosts.conf. Запустите в "Shell" командуhttpd -t: она покажет файл и строку с ошибкой. - Панель путает пути после переноса папки - запустите
C:\xampp\setup_xampp.bat, он пропишет новые пути. - Антивирус удаляет файлы - добавьте папку
C:\xamppв исключения. - Страница "Object not found!" - в адресе ошибка или файл лежит не в
htdocs.
Если сайт открывается, но вместо страницы белый экран или "HTTP ERROR 500", включите показ ошибок PHP и разберите причину по статье ошибка 500 Internal Server Error.
Обновление и удаление XAMPP
Встроенного обновления у XAMPP нет. Чтобы перейти на новую версию PHP, ставят свежую сборку:
- Сделайте экспорт баз через phpMyAdmin или командой
mysqldump -u root --all-databases > C:\dump.sql. - Скопируйте папку
htdocsи свои конфиги (httpd-vhosts.conf,php.ini). - Удалите старую версию через
C:\xampp\uninstall.exeили "Параметры → Приложения". - Установите новую сборку, верните файлы сайтов и импортируйте дамп.
Если остаётся папка C:\xampp со старыми базами, удалите её вручную, предварительно сохранив нужное. Composer, установленный отдельно, при этом останется.
XAMPP для Linux и macOS
Для Linux на сайте Apache Friends есть файл .run. Установка и запуск:
chmod +x xampp-linux-x64-*-installer.run
sudo ./xampp-linux-x64-*-installer.run
# Сборка ставится в /opt/lampp
sudo /opt/lampp/lampp start
sudo /opt/lampp/lampp stop
Сайты в Linux лежат в /opt/lampp/htdocs. На macOS XAMPP тоже есть, но на новых Mac с процессорами Apple чаще используют Docker или Homebrew: установка PHP и MariaDB через brew проще в обновлении.
Частые вопросы
XAMPP - что это за программа?
Это сборка локального веб-сервера: Apache, MariaDB (MySQL), PHP, Perl и phpMyAdmin в одном установщике. Она нужна, чтобы запускать PHP-сайты на своём компьютере без хостинга.
Как запустить сайт через XAMPP?
Положите файлы в папку C:\xampp\htdocs\имя_папки, запустите Apache (и MySQL, если нужна база) и откройте http://localhost/имя_папки/.
Какой логин и пароль у phpMyAdmin в XAMPP?
По умолчанию пользователь root без пароля, вход выполняется автоматически. Если вы задали пароль root, переключите auth_type на cookie в config.inc.php.
Почему XAMPP не запускается Apache?
Чаще всего порт 80 или 443 занят IIS, Skype или другим сервером. Найдите процесс командой netstat -ano | findstr ":80 " и остановите его либо смените порт в httpd.conf.
Как поменять версию PHP в XAMPP?
В XAMPP одна версия PHP на сборку. Чтобы перейти на другую, установите сборку XAMPP с нужной версией PHP и перенесите туда сайты и базы.
Где находится официальный сайт XAMPP?
Официальный сайт - apachefriends.org. Скачивайте установщик только оттуда, сборки со сторонних сайтов могут быть устаревшими или изменёнными.



