Windows Часто задаваемые Вопросы

Как мне установить XAMPP?

XAMPP для Windows существует в трёх рахных пакетах:

Установщик:
Вероятно самый простой способ установить XAMPP.

ZIP:
Для пуристов: XAMPP как обычный ZIP архив.

7zip:
Для пуристов с небольшой скоростью интернета: XAMPP как 7zip архив.

Заметка: Если вы распакуете файлы, возможно ложное срабатывание антивирусной программы.

Использование установщика:

Панель управления XAMPP для запуска/остановки Apache, MySQL, FileZilla и Mercury или установки этих серверов в качестве сервисов.

Установка из ZIP архива

Распакуйте zip архивы в выбранную вами папку. XAMPP распакуется в суб-каталог "C:\\xampp" под выбранной папкой. Теперь запустите файл "setup_xampp.bat", чтобы настроить конфигурацию XAMPP для вашей системы.

Если вы выберите корневой каталог "C:\\" как папку назначения, вы не должны запускать "setup_xampp.bat".

Также как в версии с установщиком, теперь вы можете использовать контрольную панель XAMPP (XAMPP Control Panel) для дополнительных задач.

XAMPP включает в себя MySQL или MariaDB?

С момента выхода XAMPP 5.5.30 и 5.6.14, XAMPP предоставляет MariaDB вместо MySQL. Команды и инструменты для обоих одни и те же.

Как мне запустить XAMPP без установки?

Если вы распакуете XAMPP в папку верхнего уровня как "C:\\" или "D:\\", вы можете запустить большинство серверов как Apache или MySQL сразу без исполнения файла "setup_xampp.bat".

Если вы устанавливаете XAMPP на usb носитель желательно не использовать скрипт установки, или выбрать в скрипте установки относительные пути. Так как на каждом ПК такой носитель может иметь разные буквы привода. Вы можете перейти с абсолютных на относительные пути в любой момент с помощью скрипта установки.

Использование установщика с нашей страницы скачиваний это самый простой способ установить XAMPP. После завершения установки, вы найдёте XAMPP под Пуск | Все программы | XAMPP. Вы можете использовать панель управления XAMPP для запуска или остановки всех серверов и установки или удаления серфисов.

Панель управления XAMPP для запуска/остановки Apache, MySQL, FileZilla и Mercury или установки этих серверов в качестве сервисов.

Как мне запустить и остановить XAMPP?

Универсальный центр управления это "XAMPP Control Panel" (панель управления XAMPP) (благодаря www.nat32.com). Он запускается с помощью:

\xampp\xampp-control.exe

Также вы можете использовать некоторые batch (*.bat) файлы чтобы запускать/останавливать сервера.

  • Apache & MySQL запуск: \xampp\xampp_start.exe
  • Apache & MySQL остановка: \xampp\xampp_stop.exe
  • Apache запуск: \xampp\apache_start.bat
  • Остановить Apache: \xampp\apache_stop.bat
  • Запустить MySQL: \xampp\mysql_start.bat
  • Остановить MySQL: \xampp\mysql_stop.bat
  • Запустить Mercury Mailserver: \xampp\mercury_start.bat
  • Остановить Mercury Mailserver: \xampp\mercury_stop.bat
  • Запустить сервер FileZilla: \xampp\filezilla_start.bat
  • Остановить сервер FileZilla: \xampp\filezilla_stop.bat

Как мне проверить, что всё сработало?

Введите следующую URL в ваш любимый браузер:

http://localhost/ или http://127.0.0.1/

You should see the XAMPP start page, as shown below.

Как мне установить скрвер как сервис?

Каждый сервер в XAMPP можно установить как сервис Windows. Вы можете сделать это при помощи XAMPP Control Panel (панель управления XAMPP). В таком случае скрипты или контрольная панель обязательно должны быть запущены с привилегиями администратора.

Установка сервиса Apache: \\xampp\\apache\\apache_installservice.bat

Удаление сервиса Apache: \\xampp\\apache\\apache_uninstallservice.bat

Установка сервиса MySQL: \\xampp\\mysql\\mysql_installservice.bat

Удаление сервиса MySQL: \\xampp\\mysql\\mysql_uninstallservice.bat

Установка или удаление сервиса FileZilla: \\xampp\\filezilla_setup.bat

Для Mercury нет доступной установки сервиса

Готов ли XAMPP к производственному использованию?

XAMPP не предназначен для производственного использования, а только для сред разработки. XAMPP настроен таким образом чтобы быть как можно более открытым и позволять разработчику всё что он/она захочет. Для сред разработки это прекрасно, но в производственной среде это может быть пагубно.

Вот список отсутствующих мер безопасности в XAMPP:

  1. MySQL администратор (root) не имеет пароля.
  2. MySQL сервер доступен через сеть.
  3. ProFTPD uses the password "lampp" for user "daemon".
  4. Пользователи по умолчанию Mercury и FileZilla известны.

Всё это может быть обширным риском безопасности. Особенно если XAMPP доступен через сеть и людям снаружи LAN. Использование брандмауэра (межсетевой экран) или (NAT) маршрутизатора может помочь. В случае с маршрутизатором или брандмауэром, ваш ПК обычно недоступен через сеть. Решение этих проблем лежит на вас. Как небольшая помощь есть консоль безопасности XAMPP (XAMPP Security console).

Пожалуйста обезопасьте XAMPP прежде чем публиковать что-либо в сети. Использование брандмауэра (межсетевой экран) или маршрутизатора достаточно лиш для низких уровней безопасности. Для немного большей безопасности, вы можете запустить консоль безопасности XAMPP (XAMPP Security console) и установить пароли.

Если вы хотите чтобы ваш XAMPP был доступен через интернет, вам следует посетить следующую URI которая может исправить некоторые проблемы:

http://localhost/security/

С помощью консоли безопасности вы можете установить пароль для MySQL пользователя "root" и phpMyAdmin. Вы также можете включить аутентификацию для демонстративных страниц XAMPP.

Этот инструмент на веб-основе не исправляет какие-либо дополнительные проблемы безопасности! Особенно в случае с FileZilla FTP сервером и Mercury почтовым сервером, их вы должы обезопасить сами.

Как мне удалить XAMPP?

Если вы установили XAMPP используя версию с установщиком, пожалуйста используйте деинсталлятор. Деинсталлятор удалит все записи XAMPP из реестра и удалит некоторые установленные сервисы включенные в XAMPP. Мы настойчиво рекомендуем чтобы вы использовали деинсталлятор для удаления установки XAMPP с версией установщика. Пожалуйста сделайте резервное копирование всех данных которые хотите сохранить прежде чем удалять XAMPP.

Если вы установили XAMPP используя ZIP или 7zip версии, выключите все XAMPP сервера и выйдите из всех панелей. Если вы установили какие-либо сервисы, удалите и отключите их тоже. Теперь просто удалите весь каталог где установлен XAMPP. В данном случае записей в регистре и переменных среды требующих чистку нет.

Что такое "lite" (лёгкая) версия XAMPP?

XAMPP Lite (значит "лёгкий" как в "лёгкий вес") это меньший набор XAMPP компонентов, что рекомендуется для быстрой работы где требуется только PHP и MySQL. Некоторые сервера или инструменты как Mercury Mail и FileZilla FTP отсутствуют в Lite версии.

Где мне следует поместить моё веб содержимое?

Главный каталог для всех WWW документов это \\xampp\\htdocs. Если вы положите файл "test.html" в этот каталог, вы сможете получить доступ к нему по URI "http://localhost/test.html".

И "test.php"? Просто используйте "http://localhost/test.php". Простой тест-скритп может быть:

<?php
echo 'Hello world';
?>

Новая суб-каталог для вашего веб проекта? Просто создайте новый каталог (пример: "new") внутри каталога "\\xampp\\htdocs" (желательно без пробелов и с использованием только ASCII), создайте файл "test.php" в этом каталоге, вы сможете получить доступ к нему по URI "http://localhost/new/test.php".

Дополнительные особенности

HTML:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .html .htm
=> базовый пакет

SSI:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .shtml
=> базовый пакет

CGI:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .cgi
=> базовый пакет

PHP:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .php
=> базовый пакет

Perl:
Исполняемый файл: \xampp\htdocs and \xampp\cgi-bin
Разрешённые окончания: .pl
=> базовый пакет

Apache::ASP Perl:
Исполняемый файл: \xampp\htdocs
Разрешённые окончания: .asp
=> базовый пакет

JSP Java:
Исполняемый файл: \xampp\tomcat\webapps\java (e.g.)
Разрешённые окончания: .jsp
=> Tomcat add-on

Servlets Java:
Исполняемый файл: \xampp\tomcat\webapps\java (e.g.)
Разрешённые окончания: .html (u.a)
=> Tomcat add-on

Как мне переместить установку XAMPP?

Да. После перемещения каталога XAMPP, вы должны выполнить "setup_xampp.bat". Пути в файлах конфигурации будут поправлены при выполнении этого шага.

Если вы установили любой сервер как Windows сервис, сначала вы должны удалить Windows сервис, а после перемещения вы можете снова установить сервис.

Предупреждение: Файлы конфигурации из ваших скриптов, к примеру PHP приложения, не настроены. Но возможно написать плагин для установщика. С таким плагином установщик может настроить и эти файлы.

Что такое "Automatic start pages" (страницы автоматического запуска) для WWW каталогов?

Стандартное имя файла для функции Apache "DirectoryIndex" это "index.html" или "index.php". Каждый раз когда вы открываете в браузере папку (пример: "http://localhost/xampp/"), и Apache сможет найти такой файл, Apache отобразит этот файл вместо списка содержимого каталога.

Где я могу поменять настройки?

Почти все настройки в XAMPP вы можете поменять при помощи файлов конфигурации. Просто откройте файл в текстовом редакторе и измените что желаете. Только FileZilla и Mercury должны быть настроены при помощи програмного инструмента конфигурации.

Почему XAMPP не может работать на Windows XP SP2?

Microsoft предоставляет более хороший брандмауэр (межсетевой экран) с сервис паком 2 (SP2), который запускается автоматически. Этот брандмауэр теперь блокирует необходимые порты 80 (http) и 443 (https) и Apache не может запустится.

Быстрое решение:

Отключите брандмауэр (межсетевой экран) и попробуйте запустить XAMPP ещё раз. Лучшее решение: указать исключение в центре безопасности.

Следующие порты используются для базовой функциональности:

Apache (HTTP): Port 80
Apache (WebDAV): Port 81
Apache (HTTPS): Port 443
MySQL: Port 3306
FileZilla (FTP): Port 21
FileZilla (Admin): Port 14147
Mercury (SMTP): Port 25
Mercury (POP3): Port 110
Mercury (IMAP): Port 143
Mercury (HTTP): Port 2224
Mercury (Finger): Port 79
Mercury (PH): Port 105
Mercury (PopPass): Port 106
Tomcat (AJP/1.3): Port 8009
Tomcat (HTTP): Port 8080

Почету XAMPP не работает на Windows Vista?

Контроль учётных записей пользователей (UAC)

Вы не имеете полных привилегий записи в каталоге "C:\\program files", даже как администратор. Или у вас только ограниченные привилегии (к примеру только для ".\\xampp\\htdocs"). В таком случае вы не можете редактировать файл.
Решение: Повысьте свои привилегии в проводнике (правый клик / безопасность) или отключите Контроль учётных записей пользователей (UAC).

Вы установили Apache/MySQL в "C:\\xampp" как Windows сервис. Но вы не можете запускать/останавливать сервисы при помощи панели управления XAMPP (XAMPP Control Panel) или не можете их удалить.

Решение: Используйте консоль управления сервисами от Windows или отключите UAC.

Отключение контроля учётных записей пользователей (UAC)

Чтобы отключить UAC, используйте программу "msconfig". В "msconfig" заидите в "Tools" (инструменты), выберите "disable user account control" (отключить контроль учётных записей пользователей) и подтвердите свой выбор. Теперь вы должны перезапустить Windows. Вы можете включить UAC снова.

Как мне проверить контрольную сумму md5?

Чтобы сравнить файлы, часто используются контрольные суммы. Стандарт чтобы создать такую контрольную сумму md5 (Message Digest Algorithm 5).

При помощи контрольной суммы md5 вы можете проверить, соответствует ли оригиналу скачанный вами пакет XAMPP. Естественно вам потребуется программа способная создавать такие контрольные суммы. Для Windows вы можете использовать инструмент от Microsoft:

Доступность и описание утилиты проверки целостности контрольных сумм файлов

Также возможно использовать любую другую программу способную создавать md5 контрольные суммы, как GNU md5sum.

Когда вы установили такую программу (пример: fciv.exe), вы можете выполнить следующие шаги:

  • Скачать XAMPP (f.e. xampp-win32-1.8.2-0.exe)
  • Создать контрольную сумму с:
    fciv.exe xampp-win32-1.8.2-0.exe
  • Теперь вы можете сравнить эту контрольную сумму с той которую можете найти на домашней странице XAMPP для Windows.

Если обе контрольные суммы равны, всё хорошо. Если нет, скачивание обернулось провалом или файл был изменён.

Почему изменения в моём php.ini не вступают в действие?

Если изменеие в "php.ini" не вступило в действие, возможно PHP использует другой файл. Вы можете проверить это при помощи phpinfo(). Последуйте по URI http://localhost/xampp/phpinfo.php и ищите "Loaded Configuration File" (загруженный файл конфигурации). Это значение покажет какой "php.ini" PHP действительно использует.

Примечание: После изменения "php.ini" вы должны перезапустить Apache чтобы Apache/PHP смогли считать новые настройки.

Помогите! В XAMPP есть вирус!

Некоторые анти-вирусные программы по ошибке принимают XAMPP за вирус, обычно отмечая файл xampp-manager.exe. Это ложная тревога, что означает анти-вирус ошибочно принял за вирус то что им не является. Прежле чем мы публикуем каждую новую версию XAMPP мы сканируем его на вирусы. В данный момент мы используем Kapersky Online Virus Scanner. You can also use the online tool Virus Total for scanning XAMPP or send us an email to security (at) apachefriends (dot) org if you find any issue.

Как мне настроить моё анти-вирусное приложение?

Мы включили все зависимости и сервера тревуемые для работы пакета веб приложения, поэтому XAMPP устанавливает большое количество файлов. Если вы устанавливаете XAMPP на Windows машине со включенным анти-вирусом, это может значительно замедлить установку, и ещё есть шанс что один из серверов (веб сервер, сервер баз данных) может быть заблокирован анти-вирусным ПО. Если ваш есть анти-вирус включён, проверьте следующие настройки для запуска XAMPP без проблем с производительностью:

  • Добавьте исключения в брандмауэр (межсетевой экран): для Apache, MySQL или любого другого сервера.
  • Сканирование файлов во время рвботы: Если вы включили в анти-вирусном ПО сканирование всех файлов, работа исполнительных файлов серверов может замедлится.
  • Сканирование трафика для разных URL: Если вы разрабатываете с использованием XAMPP на своей собственной машине, вы можете исключить проверку трафика для "localhost" в настройках вашего анти-вируса.

Почему Apache сервер не запускается на моей системе?

Это проблема может иметь место по одной из нескольких причин:

  • Вы запустили более одного HTTP Server (IIS, Sambar, ZEUS и так далее). Только один сервер может использовать порт 80. Это сообщение об ошибке указывает на проблему:
    (OS 10048)... make_sock: could not bind to adress 0.0.0.0:80 no listening sockets available, shutting down
  • У вас есть другое ПО, например интернет телефон "Skype" (скайп) которое тоже блокирует порт 80. Если проблема в "Skype", в Skype вы можете открыть Actions (действия) --> Options (опции) --> Connection (соединение) --> убрать галочку рядом с "use port 80 for an alternate port" (использовать порт 80 для альтернативного порта) и перезапустить Skype. Теперь всё должно работать.
  • У вас есть брандмауэр (межсетевой экран) который блокирует порт Apache. Не каждый брандмауэр совместим с Apache, иногда отключить брандмауэр недостаточно и вам придётся его удалить. Это сообщение об ошибке указывает на брандмауэр:
    (OS 10038)Socket operation on non-socket: make_sock: for address 0.0.0.0:80, apr_socket_opt_set: (SO_KEEPALIVE)

Также если Apache может запустится, но ваш браузер не может соединится с ним это может быть по одной из следующих причин:

  • Некоторые анти-вирусные программы могут вызвать это, таким же образом как может вмешатся брандмауэр (межсетевой экран).
  • У вас XP Professional без сервис пака 1. Вы должны иметь как минимум SP1 для XAMPP.

Совет: If you have problems with used ports, you can try the tool "xampp-portcheck.exe". Maybe it can help.

Почему Apache грузит мой процессор почти на 99%?

В данном случае действует один из двух сценариев. Либо ваш процессор работает на пределе своих возможностей, или вы можете подсоеденится к серверу через браузер, но ничего не видите (система безуспешно пытается загрузить страницу). В любом случае вы можете найти следующее сообщение в лог файле Apache:

Child: Encountered too many AcceptEx faults accepting client connections. winnt_mpm: falling back to 'AcceptFilter none'.

MPM возвращается к более безопасному выполнению, но некоторые клиентские запросы не обрабатывались корректно. Для того чтобы избежать этой ошибки, используйте "AcceptFilter" с включенным фильтром "none" в файле "\\xampp\\apache\\conf\\extra\\httpd-mpm.conf".

Почему картинки и таблицы стилей не отображаются?

Иногда возникают проблемы с отображением картинок и таблиц стилей. Особенно, если эти файлы находятся на сетевом диске. В этом случае вы можете включить (или добавить) одну из следующих строк в файле "\\xampp\\apache\\conf\\httpd.conf":

EnableSendfile off
EnableMMAP off

Эта проблема также может быть вызвана программами регулирования полосы пропускания, например, NetLimiter.

How do I send email with XAMPP?

To configure XAMPP to use the included sendmail.exe binary for email delivery, follow these steps:

  • Edit the XAMPP "php.ini" file. Within this file, find the [mail function] section and replace it with the following directives. Change the XAMPP installation path if needed. sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
  • Edit the XAMPP "sendmail.ini" file. Within this file, find the [sendmail] section and replace it with the following directives: smtp_server=smtp.gmail.com smtp_port=465 smtp_ssl=auto error_logfile=error.log [email protected] auth_password=your-gmail-password

    Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.

  • Перезапустите сервер Apache, используя панель управления XAMPP.

You can now use PHP's mail() function to send email from your application.

Как я могу установить пароль root'а в MySQL?

Configure it with the "XAMPP Shell" (command prompt). Open the shell from the XAMPP control pane and execute this command:mysqladmin.exe -u root password secretThis sets the root password to 'secret'.

Могу ли я использовать свой собственный MySQL сервер?

Да. Просто не запускайте MySQL из пакета XAMPP. Обратите внимание, что два сервера не могут быть запущены на том же порту. Если вы установили пароль для "root", пожалуйста, не забудьте отредактировать файл "\\xampp\\phpMyAdmin\\config.inc.php".

Как ограничить доступ к PhpMyAdmin извне?

В базовой конфигурации XAMPP phpMyAdmin доступен только с того же хоста, на котором запущен XAMPP, по адресу http://127.0.0.1 или http://localhost.

Прежде чем вы сможете получить доступ к серверу MySQL, PhpMyAdmin запросит у вас имя пользователя и пароль. Не забудьте установить пароль для "root" пользователя в первую очередь.

Как мне включить доступ к phpMyAdmin извне?

В базовой конфигурации XAMPP phpMyAdmin доступен только с того же хоста, на котором запущен XAMPP, по адресу http://127.0.0.1 или http://localhost.

ВАЖНО: Включение внешнего доступа для phpMyAdmin в производственных средах представляет собой значительный риск для безопасности. Вам настоятельно рекомендуется разрешать доступ только с localhost. Удаленный злоумышленник может воспользоваться любой существующей уязвимостью для выполнения кода или изменения ваших данных.

Чтобы включить удалённый доступ к phpMyAdmin, следуйте шагам ниже:

  • Edit the apache\conf\extra\httpd-xampp.conf file in your XAMPP installation directory.
  • В этом файле, найдите строки, указанные снизу.

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/" <Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig Require local

  • Затем, замените 'Require local' на 'Require all granted'.
  • Alias /phpmyadmin "C:/xampp/phpMyAdmin/" <Directory "C:/xampp/phpMyAdmin"> AllowOverride AuthConfig Require all granted

  • Перезапустите сервер Apache, используя панель управления XAMPP.
Где поддержка IMAP для PHP?

По умолчанию, поддержка IMAP для PHP отключена в XAMPP из-за некоторых загадочных ошибок инициализации в некоторых домашних версиях, например, Windows 98. Если вы работаете с системами NT, вы можете открыть файл "\\xampp\\php\\php.ini", чтобы активировать php расширение, удалив точку с запятой в строке ";extension=php_imap.dll". Она должна быть:
extension=php_imap.dll

Теперь перезагрузите Apache, и IMAP должен работать. Вы можете использовать те же самые шаги для любого расширения, которое не включено в конфигурации по умолчанию.

Почему некоторые PHP приложения с открытым исходным кодом работают с XAMPP на Windows?

Много PHP приложений или расширений, которые были написаны для Linux не были портированы на Windows.

Can I delete the "install" directory after installation?

Лучше этого не делать. Эти скрипты ещё нужны для всех дополнительных пакетов (дополнений) и обновлений XAMPP.

Как мне активировать eaccelerator?

Как и другие (Zend) разрешения, вы можете активировать его в "php.ini". В этом файле, измените строку ";zend_extension = "\\xampp\\php\\ext\\php_eaccelerator.dll"". Она должна быть:
zend_extension = "\xampp\php\ext\php_eaccelerator.dll"

Как мне исправить ошибку соединения с моим MS SQL сервером?

Если mssql расширение было загружено в php.ini, иногда возникают проблемы когда используется только TCP/IP. Вы можете исправить эту проблему при помощи более новой "ntwdblib.dll" от Microsoft. Пожалуйста замените старый файл в "\\xampp\\apache\\bin" и "\\xampp\\php" более новым. Из за условий лицензии, мы не можем включить более новую версию файла в XAMPP.

Как мне работать с PHP mcrypt расширением?

Для этого, мы открыли предмет обсуждения на форуме с примерами и возможными решениями: MCrypt топик

Microsoft Active Server Pages (ASP) работают с XAMPP?

Нет. И Apache::ASP с Perl дополнением не то же самое. Apache::ASP распознаёт только Perl-Script, а ASP из Internet Information Server (IIS) также распознаёт обычный VBScript. Но для ASP .NET, существует сторонний Apache модуль.

How can I get XAMPP working on port 80 under Windows 10?

By default, Windows 10 starts Microsoft IIS on port 80, which is the same default port used by Apache in XAMPP. As a result, Apache cannot bind to port 80.

To deactivate IIS from running on port 80, follow these steps:

  • Open the Services panel in Computer Management.
  • Search for the 'World Wide Web Publishing Service' and select it.
  • Click the link to 'Stop the service'.
  • Double-click the service name.
  • In the 'Startup type' field, change the startup type to 'Disabled'.
  • Click 'OK' to save your changes.

You should now be able to start Apache in XAMPP on port 80.

For more information, refer to the 'Troubleshoot Apache Startup Problems' guide included with XAMPP or this forum post.

How can I use Microsoft Edge to access local addresses under Windows 10?

If your local machine has the host name 'myhost', you will not be able to access URLs such as http://myhost in Microsoft Edge. To resolve this, you should instead use the addresses http://127.0.0.1 or http://localhost.

Where are the main XAMPP configuration files?

The main XAMPP configuration files are located as follows:

  • Файлы конфигурации Apache: \xampp\apache\conf\httpd.conf, \xampp\apache\conf\extra\httpd-xampp.conf
  • PHP configuration file: \xampp\php\php.ini
  • MySQL configuration file: \xampp\mysql\bin\my.ini
  • FileZilla Server configuration file: \xampp\FileZillaFTP\FileZilla Server.xml
  • Apache Tomcat configuration file: \xampp\tomcat\conf\server.xml
  • Apache Tomcat configuration file: \xampp\sendmail\sendmail.ini
  • Mercury Mail configuration file: \xampp\MercuryMail\MERCURY.INI