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

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

30 ответов


Открыть Skype.

Инструменты - > Параметры - > Дополнительно - > Подключение.

отключить "используйте порт 80 и 443 для альтернатив для входящих соединений"

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


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

поскольку порт не используется 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 to 4433.

<VirtualHost _default_:4433>

ServerName localhost:4433

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


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

net stop http

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

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

netstat -abno

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

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

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

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

по теме: как освободить порт 80 в окнах localhost? и Apache не будет работать в xampp


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

Apache_Start.летучая мышь!--1-->

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

для более подробного ответа, регистрация здесь


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

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

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

    #чтобы избежать Апачей от скачки на все привязки IP-адресов.

    #слушать 0.0.0.0:80

    #слушать [::]:80

    Listen 80

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

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

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

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

    #

    #слушать 0.0.0.0:443

    #слушать [::]:443

    Listen 443

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

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


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

например, "оригинальный" httpd.у conf были следующие записи:

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

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

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

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

открыть IIS (информационная служба Интернета) .

в правой части панели действий. Нажмите Кнопку Стоп.

Примечание: ссылка stop исчезла на снимке экрана. Как я его остановил. IIS Screenshot Проблема Решена!


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


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

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

  2. нажать на кнопку Config

  3. затем перейдите в Apache httpd.conf. Откройте его с помощью текстового редактора.

  4. искать "80" (Do Ctrl + F и найти их все. Заменить 8080 или 4040 или 4000).

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

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


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

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

Инструменты > Параметры Подключения > Подключение

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

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

Изменить > Настройки > Общие Vms

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

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


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

netstat -abno | find ":80"

не было проблем с каким-либо процессом с использованием порта 80.

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

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

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


для меня World wide web publishing-service использовал порт 80. Я убил это, выполнив следующую команду на cmd:

net stop http

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


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

команды netstat.

XAMPP homepage

Это файл Netstat,

Enter the image description here

сначала я выделил порт 8080 для Apache, и я недавно установил Oracle ДЕЦИБЕЛ.TNSLSNR.exe теперь использовал порт 8080.

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


  1. скачать новый xampp apachefriends
  2. установки
  3. удалить все VPN-приложение
  4. открыть папку XAMPP запустить setup_xampp.летучая мышь!--4-->
  5. запустить xampp-control.exe

кажется, что никто не ответил О выполнении xampp_start.исполняемый.

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

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

xampp_start

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


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

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

найти эти строки:

#

слушать 192.168.1.2:80

слушать 80

#

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

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

слушайте 192.168.1.2: 8081

слушать 8081

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


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

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


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

localhost:8080/path_to_your_website.php


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


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

(по-немецки: Systemsteuerung -> System und Sicherheit ->Verwaltung ->Diensteбыл -> Webbereitstellungs-Agent-Dienst)


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

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


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

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

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


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

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

  • в строке поиска введите Монитор ресурсов открыть Монитор ресурсов resmon.exe.

  • открыть Порты, это покажет вам открытые порты используются.

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

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

  • чтобы убить процесс из CMD с помощью PID type Taskkill /PID 26356 /F, где 26356 - это PID.


  1. сначала убедитесь, что ваш \xampp папка находится в корне! Это важно, поскольку путь относителен.

  2. тогда убедитесь, что вы запустите xampp_control.exe С правами администратора.

  3. затем измените файлы ниже, чтобы избежать проблем с заблокированным портом 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 С правами администратора. Он должен бежать!


в моем случае это произошло после установки sql server, и решение было описано в этом ответе

Xampp-не удается запустить Apache после установки SQL Server и Visual Studio

поэтому мне пришлось просто отключить службу "SQL Server Reporting Services" из служб Windows


лучшим решением

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

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


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


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

  1. открыть netstat (с панели управления XAMPP)
  2. найти PID процесса, который использует порт 80.
  3. откройте CMD с помощью администратора.
  4. Run taskkill /pid PID (вместо PID используйте pid u, найденный из netstat)
    Heyy наслаждайтесь u сделано.....

Я попытался выполнить httpd.exe в cmd и получил ошибку, что есть синтаксическая ошибка в httpd-vhosts.conf. Я проверил файл и нашел, что не так, и теперь он работает нормально.

Итак, если вы столкнулись с этой ошибкой, то это может быть из-за httpd-vhosts или любого другого файла.

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

удачи


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