XAMPP, Apache - Ошибка: завершение работы Apache неожиданно

Я только что установил XAMPP, и когда я пытаюсь запустить свой сервер Apache в панели управления XAMPP, теперь я получаю следующие ошибки:

16:50:25  [Apache]     Status change detected: running
16:50:26  [Apache]     Status change detected: stopped
16:50:26  [Apache]     Error: Apache shutdown unexpectedly.
16:50:26  [Apache]     This may be due to a blocked port, missing dependencies,
16:50:26  [Apache]     improper privileges, a crash, or a shutdown by another method.
16:50:26  [Apache]     Press the Logs button to view error logs and check
16:50:26  [Apache]     the Windows Event Viewer for more clues
16:50:26  [Apache]     If you need more help, copy and post this
16:50:26  [Apache]     entire log window on the forums

Как это решить?

Ответ 1

Открой скайп.

Сервис → Параметры → Дополнительно → Подключение.

Снимите флажок " Использовать порты 80 и 443 для альтернатив для входящих подключений "

Выйдите из системы и закройте все окна Skype. Попробуйте перезапустить ваш Apache.

Ответ 2

Поскольку я работаю в корпоративной среде, где разработчики сталкиваются с проблемами брандмауэра, ни один из других ответов не решил мою проблему.

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

Шаг 1. На панели управления XAMPP в разделе Apache нажмите кнопку "Config" и выберите Apache (httpd.conf).

Внутри файла httpd.conf я как-то нашел строку, которая говорит:

Listen 80

И измените 80 на любой номер/порт, который вы хотите. В моем сценарии я использую порт 8080.

Listen 8080

Еще из файла httpd.conf я нашел еще одну строку, которая говорит:

ServerName localhost:80

Изменить 80 на 8080.

ServerName localhost:8080

Шаг 2 - На панели управления XAMPP в разделе Apache снова нажмите кнопку "Config", но на этот раз выберите Apache (httpd-ssl.conf). Внутри файла httpd-ssl.conf найдите строку с надписью

Listen 443

И измените 443 на любой номер/порт, который вы хотите. Я использую 4433 в качестве нового номера порта.

Listen 4433

Все еще из файла httpd-ssl.conf, найдите другую строку, которая говорит

<VirtualHost _default_:443>

ServerName localhost:443

И измените 443 на 4433.

<VirtualHost _default_:4433>

ServerName localhost:4433

Не забудьте сохранить файлы httpd.conf и httpd-ssl.conf после внесения некоторых изменений. Затем перезапустите службу Apache.

Ответ 3

Одна вещь, которую вы можете сделать, это остановить службы на порту 80, выпуская

net stop http

в cmd. Вас спросят, уверены ли вы, что хотите остановить эти службы. Я узнал, что у меня было несколько сервисов, которые я не использовал, и отключил их.

Чтобы узнать, кто еще использует порт 80, введите cmd

netstat -abno

Я предполагаю, что вы хотите запустить Apache на порт 80. Если это так, и вы хотите сохранить конфликтующие службы, вам нужно будет связать их с новым портом.

Если проблема не занята, вы также можете попробовать следующее: выберите "показать информацию об отладке" на панели конфигурации XAMPP. При запуске Apache вам будет показано что-то вроде "Выполнение" c:\xampp\apache\bin\httpd.exe. Если вы запустите этот

c:\xampp\apache\bin\httpd.exe

в cmd вы получите дополнительную информацию (например, у меня некоторая проблема с файлом httpd.conf).

Связанный: Как я могу освободить свой порт 80 на localhost Windows? и Apache не будет запускаться в xampp

Ответ 4

В панели управления XAMPP V3.2.1 нажмите кнопку "NetStat" в правом верхнем углу. Убедитесь, что порт 80 не используется какой-либо другой программой. Затем нажмите "Shell" прямо под ним. Выполните эту команду "Тип ap, затем TAB два раза"

Apache_Start.bat

Фактически вы обнаружите ошибку Apache. Это, скорее всего, проблема с настройкой виртуального хоста или может быть что-то еще. Он отобразит номер строки, на которой происходит ошибка. Просто исправьте эту ошибку. Обратите внимание, что в RootDocument конечный\может быть источником ошибки. Удалите все конечные "\".

Подробнее об ответе здесь >

Ответ 5

Выполните следующие действия:

  • Откройте панель управления XAMPP, затем нажмите "Config"
  • Выберите "Apache (httpd.conf)" и найдите этот код ниже и измените его на следующий:

    #Измените это для прослушивания определенных IP-адресов, как показано ниже.

    #, чтобы предотвратить доступ Apache к всем связанным IP-адресам.

    #Listen 0.0.0.0:80

    #Listen [::]: 80

    Listen 80

    # Поддержка динамического общего объекта (DSO)

    1. Сохраните его (Ctrl + S)
    2. После этого вернитесь на панель управления XAMPP и снова щелкните его конфигурацию.
    3. Выберите "Apache (httpd-ssl.conf)", найдите этот код ниже и измените его еще раз:

# Примечание. Конфигурации, использующие IPv6, но не адресованные IPv4-адресам, нуждаются в двух

# Слушайте директивы: "Слушайте [::]: 443" и "Listen 0.0.0.0:443"

#

#Listen 0.0.0.0:443

#Listen [::]: 443

Listen 443

  1. Сохраните его (Ctrl + S)
  2. Затем нажмите "config" (обратите внимание: над netstat) и нажмите "Настройки сервиса и порта".
  3. Измените "Главный порт" на 8080 и "Порт SSL" на 4433, затем сохраните его.
  4. Наконец, перейдите в "Панель управления" → "Программы и функции" → "Включение и выключение Windows".
  5. Снимите флажок "Службы IIS" и нажмите "ОК".

Подождите, и ваш компьютер/ноутбук автоматически перезагрузится и снова попытается открыть панель управления XAMPP, а затем запустите свой Apache.

Ответ 6

Моя проблема заключалась в том, что в httpd.conf записи DocumentRoot и <Directory> указывали на несуществующие папки.

Например, в "исходном" httpd.conf были следующие записи:

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

Если вы установили в C:\xampp, вам нужно изменить эти записи, чтобы они соответствовали, т.е.

DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">

Ответ 7

Если вы используете Windows 7. Поиск IIS в поиске Windows (щелкните значок "Окно" в левом нижнем углу и введите там, где говорится "Поиск программы и файлы" ).

Откройте IIS (Internet Information Service).

В правой части панели действий. Нажмите "Стоп".

Примечание. Стоп-ссылка исчезает при съемке на экране. Как я его остановил. Скриншот IIS Проблема решена!

Ответ 8

У меня была такая же проблема, и оказалось, что я забыл запустить setup_xampp.bat (переносимая версия).

Ответ 9

Это сработало для меня...

Если вы используете Windows...

Поиск 'cmd' в панели поиска Windows.

Введите это: C:\xampp\apache\bin\httpd.exe

Найдите, в каком файле и в какой строке произошла ошибка.

Например, мой был в файле ниже в строке 37.

HTTPD-Multilang-errordoc.conf

Откройте код и исправьте ошибку, удалив строку или исправив ее.

Готово! Я должен работать сейчас.

:)

Ответ 10

Простая вещь, которую вы можете сделать, это проверить, установлен ли на вашем компьютере Skype или VMware.

Skype использует порты 80 и 443 в качестве дополнительного порта для входящих соединений. Чтобы изменить номер порта в Skype, перейдите на

Сервис> Параметры подключения> Подключение

в окне скайпа. Теперь измените номер порта 80 по умолчанию на другой.

VMware Workstation использует порт 443 для совместного использования. Чтобы изменить это, откройте VMware Workstation и перейдите

Правка> Настройки> Общий Vms

  1. Нажмите кнопку "Изменить настройки"
  2. Затем нажмите "Отключить общий доступ"
  3. Затем измените используемый номер порта https (443)
  4. Затем вы можете нажать кнопку "Включить общий доступ"

Это все, что вам нужно сделать. Перезапустите XAMPP и запустите сервер Apache.

Ответ 11

Когда я обнаружил, что не было никакого процесса, использующего порт 80 с помощью команд

netstat -abno | find ":80"

не было проблем ни в одном процессе, использующем порт 80.

Затем я запустил команду (в cmd)

C:\xampp\apache\bin\httpd.exe

она показала некоторую ошибку в конфигурации виртуальных хостов в файле httpd-vhosts.conf который был недавно отредактирован мной для установки в среде WordPress PHP в Eclipse IDE. Поэтому я удалил эти строки и Apache запустился отлично.

Ответ 12

У меня была такая же проблема когда-нибудь. У меня был старый ноутбук, на котором почти все порты были либо заблокированы, либо были неисправны. Вот как я это сделал.

  • Откройте панель управления XAMPP.

  • Нажмите Конфигурация

  • Затем перейдите в файл Apache httpd.conf. Откройте его с помощью текстового редактора.

  • Найдите "80" (сделайте Ctrl + F и найдите все их. Замените его 8080 или 4040 или 4000).

  • Сохраните файл. И перезапустите XAMPP.

Это сработало для меня, и я надеюсь, что это тоже поможет.

Ответ 13

Для меня всемирная служба публикации в Интернете использовала порт 80. Я убил это, выполнив следующую команду на cmd:

net stop http

После этого XAMPP без проблем запускал Apache.

Ответ 14

Кажется, никто не ответил о выполнении xampp_start.exe.

Я сделал все предыдущие ответы, но это не решило мою проблему. Я обнаружил, что запуск xampp_start.exe даст вам подробную информацию о проблеме.

Это было я вижу на моем конце:

xampp_start

Как вы видите, у меня возникла проблема с путём, или xampp указывает на несуществующую папку.

Ответ 15

Эта ошибка возникает из-за того, что порт, выделенный для Apache, используется другой программой. Чтобы проверить приложение, которое использует порт, который мы выделили для Apache, его можно получить, нажав

Netstat.

Домашняя страница XAMPP

Это файл Netstat,

Введите описание изображения здесь

Сначала я выделил порт 8080 для Apache, и я недавно установил Oracle DB.TNSLSNR.exe теперь использовал порт 8080.

Итак, просмотрев этот файл, мы можем выбрать порт, который не сталкивается с другими приложениями. В моем случае порт 8060 не сталкивается с каким-либо приложением. Выбрав, мы можем изменить файл httpd.conf (панель управления XAMPP → Config), как указано выше.

Ответ 16

В моем случае эта проблема была вызвана попыткой загрузить другой продукт bitnami, например WordPress. Это обычно при установке WordPress через XAMPP. Он помещается в каталог xampp/app, доступ к которому можно получить с домашней страницы приложения XAMPP.

В качестве решения я удалил установленный по умолчанию WordPress из каталога xampp и вручную установил WordPress в папку htdocs WordPress, загрузив его и извлекая zip файлы в папку htdoc. Вам также необходимо перезапустить XAMPP или систему после удаления/удаления WordPress по умолчанию. Теперь все в порядке.

Ответ 17

  • скачать новый xampp apachefriends
  • установите его
  • удалить все приложения VPN
  • открыть папку XAMPP запустите setup_xampp.bat
  • запустить xampp-control.exe

Ответ 18

Это событие из-за порта 80 по умолчанию заблокировано для Apache. Вам нужно изменить порт или сделать доступным порт.

Перейдите в свой файл конфигурации Apache (httpd.conf) в установке Apache.

Найдите следующие строки:

#

Слушайте 192.168.1.2:80

Слушать 80

#

Здесь 192.168.1.2 - это мой частный IP-адрес. Измените его в соответствии с вашим.

Измените, как показано ниже

Прослушать 192.168.1.2:8081

Слушайте 8081

Теперь, когда вы обращаетесь к localhost, вы должны явно добавить порт http://localhost:8081/...

Ответ 19

Одна из причин может заключаться в том, что вы не используете панель управления XAMPP в качестве администратора.

Ответ 20

Я решил проблему с остановкой службы "Служба агента веб-развертывания". Открыть: Система → Управление компьютером → Услуги → Служба агента развертывания веб-сайтов. Остановите эту службу и запустите XAMPP. Я думаю, что это сервис MS Webmatrix.

(немецкий: Systemsteuerung → System und Sicherheit → Verwaltung → Dienste → Webbereitstellungs-Agent-Dienst)

Ответ 21

У меня было то же сообщение об ошибке, что и OP, но моя проблема не была решена ни одним из существующих ответов. Многие из ответов касаются конфликтов на порту 80, которые, как я знал, у меня не было, поскольку в последнее время у меня был локальный ответ на порт 80.

Оказывается, я непреднамеренно изменил ServerRoot, когда я намеревался изменить DocumentRoot (глупо, я знаю), и хотя новый серверный_сервер существует, он не содержит файлы конфигурации и другие необходимые файлы apache, которые вызвали его при запуске. Сообщение об ошибке, вероятно, относится к этому сценарию по формулировке "отсутствующие зависимости".

В моей системе Windows настройка ServerRoot на C:/XAMPP/apache решила проблему.

Ответ 22

Сервер Apache по умолчанию работает на портах 80, 443. Ваша проблема в том, что один или оба из этих двух портов заняты. Обычно эти два порта используют Skype или VMware Workstation. Поэтому убедитесь, что они не работают. Лучший способ убедиться, что порты свободны в окнах:

  • Нажмите кнопку "Окно".

  • В строке поиска введите resmon, чтобы открыть монитор ресурсов resmon.exe.

  • Откройте Слушающие порты, это покажет вам открытые используемые порты.

  • Теперь вы можете видеть, какой процесс использует порты 80 и 443.

  • Затем вы можете убить процесс либо из CMD, используя его PID (который отображается на мониторе ресурсов), либо непосредственно из диспетчера задач.

  • Чтобы убить процесс из CMD с использованием типа PID Taskkill /PID 26356 /F, где 26356 является PID.

Ответ 23

  • Сначала убедитесь, что ваша папка \xampp находится в корневом каталоге! Это важно, поскольку путь относительный.

  • Затем убедитесь, что вы запустили xampp_control.exe с правами администратора.

  • Затем измените файлы ниже, чтобы избежать проблем с заблокированным портом 80.

В \xampp\xampp-control.ini он должен быть установлен:

[ServicePorts]
Apache=8080
ApacheSSL=4433

Найдите \xampp\apache\conf\httpd.conf и установите:

Listen 8080

ServerName localhost:8080

Найдите \xampp\apache\conf\extra\httpd-ssl.conf и установите:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

Затем завершите все службы и перезапустите xampp-control.exe с правами администратора. Он должен работать!

Ответ 24

Для меня эта проблема возникла, когда я разместил VPN-соединение на своем компьютере под управлением Windows 8.

Простое удаление соединения из "Панели управления\Сеть и Интернет\Сетевые подключения" решило проблему.

Ответ 25

У меня была та же проблема (в Windows 8.1), но я исправил ее, просто распаковав в C:\ вместо C:\somefolder как я делал сначала. Так, например, путь к панели управления теперь C:\xampp\xampp-control.exe

Ответ 26

Обратите внимание, что всякий раз, когда вы меняете порты по умолчанию, ваш браузер об этом не узнает. 80 и 443 кажутся стандартными в некотором роде, так, например, если вы изменили 80 на 8080, вам придется обращаться к вашим сайтам таким образом:

localhost:8080/path_to_your_website.php

Ответ 28

Лучшее решение

откройте панель управления XAMPP, нажмите на конфигурацию для Apache, затем нажмите на Apache (httpd.config). Теперь в текстовом редакторе. ctrl + f → найдите "Listen 80" и замените его "Listen 8079" без цитат:) но теперь вы должны использовать его следующим образом http://localhost:8079/

P.S, я попытался изменить настройки порта для skype, остановив службу агента веб-развертывания, которую я не смог найти в Windows 10, cmd → net stop http и других методах, но ничего не работал, кроме этого.

Ответ 29

Прежде всего, вы должны убедиться, что у вас нет лишних виртуальных хостов в вашем файле httpd-vhosts. Я имею в виду следующее простое правило: 1 project = 1 виртуальный хост в файле конфигурации. В противном случае вы столкнетесь с ошибкой, даже если вы измените порты и т.д.

Ответ 30

Лучшее решение для пользователей Windows:

  • Открыть netstat (из панели управления XAMPP)
  • Найти PID процесса, который использует порт 80.
  • Открыть CMD с Административным.
  • Запустите taskkill /pid PID (вместо этого PID использует pid u, найденный из netstat)
    Heyy enjoy u Done.....