Xampp - Apache неожиданно завершает работу, пустой файл журнала и никаких событий

На моем компьютере установлен XAMPP. Я пытаюсь запустить Apache из панели управления XAMPP.

Я запускаю панель управления XAMPP, щелкнув ярлык правой кнопкой мыши и выбрав «Запуск от имени администратора» (я вошел в систему с правами администратора). Панель управления запускается, и все в порядке (без сообщений об ошибках / предупреждений).

Панель управления Xampp после запуска

Когда я нажимаю кнопку Пуск рядом с Apache, я получаю следующее сообщение об ошибке:

2:22:44 PM  [Apache]    Attempting to start Apache app...
2:22:45 PM  [Apache]    Status change detected: running
2:22:45 PM  [Apache]    Status change detected: stopped
2:22:45 PM  [Apache]    Error: Apache shutdown unexpectedly.
2:22:45 PM  [Apache]    This may be due to a blocked port, missing dependencies, 
2:22:45 PM  [Apache]    improper privileges, a crash, or a shutdown by another method.
2:22:45 PM  [Apache]    Check the "/xampp/apache/logs/error.log" file
2:22:45 PM  [Apache]    and the Windows Event Viewer for more clues

Ошибка Apache панели управления Xampp

Обратите внимание, что он сообщает мне, что Apache неожиданно завершил работу, и необходимо проверить файл error.log и средство просмотра событий Windows.

Я проверил файл error.log, но он пуст:

Файл журнала ошибок Apache пуст

Я также проверил наличие каких-либо событий с помощью средства просмотра событий Windows, но средство просмотра событий не показывает событий (в разделе «Приложение»):

Средство просмотра событий Windows Нет событий приложения

Я проверил, нет ли программ, которые могут блокировать порты и т. Д. (Например, Skype, Visual SVN Server), и закрыл все программы, которые могут вызывать проблему.

Могу ли я еще что-нибудь сделать, чтобы узнать, что может происходить?

Спасибо.

ОБНОВЛЕНИЕ

Я выяснил проблему, попытавшись запустить apache из командной строки DOS. Запуск из командной строки дал мне конкретные ошибки и место в файле httpd.conf, где были эти ошибки. Оказалось, что мои значения ServerRoot и DocumentRoot были неправильными (указывали на неправильные каталоги). Я изменил их, чтобы они указывали на правильные каталоги, и теперь я могу запустить apache из панели управления.

Любопытно, почему я не вижу сообщений об ошибках ServerRoot и DocumentRoot при запуске из панели управления?


person Jan Tacci    schedule 13.01.2014    source источник
comment
Я запускал Skype и получил сообщение об ошибке порта 80, поэтому я вышел из Skype.   -  person Jan Tacci    schedule 14.01.2014
comment
ОБНОВЛЕНИЕ Я понял проблему. В моем файле http.conf были недопустимые записи. В частности, ServerRoot и DocumentRoot указывали на неправильные / отсутствующие каталоги.   -  person Jan Tacci    schedule 14.01.2014
comment
Рад, что ты разобрался :)   -  person Jochem Kuijpers    schedule 14.01.2014
comment
Спасибо, дружище ... ты сэкономил много времени :) cheeerrss   -  person Umesh K.    schedule 19.06.2014
comment
@Jan Tacci - Спасибо, приятель, ваш ответ о недопустимых записях решил мою проблему. Фактически, у меня был создан виртуальный хост, который указывает на расположение файла на моем внешнем жестком диске, и пока я работал с xampp, мой внешний жесткий диск не был подключен. Прокомментировал этот код, и перезапуск xampp устранил проблему.   -  person Vineet Sajwan    schedule 15.02.2016
comment
@JanTacci Спасибо! У меня такая же проблема, это ошибка синтаксиса vhost.conf. вы можете увидеть ошибки, запустив cmd и запустите оттуда C: \ xampp \ apache \ bin \ httpd.exe   -  person PauAI    schedule 23.07.2017
comment
Спасибо - все люди, у которых была эта ошибка до того, как я заметил, говорили об общем виновнике - заблокированном порту 80. Ваш ответ на запуск Apache в командной строке дал мне четкое представление о том, что не так, и я мог исправить это должным образом. Наконец-то я могу работать! Я собирался переустановить XAMPP с нуля ...   -  person Kobus Myburgh    schedule 31.10.2017


Ответы (7)


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

МОЯ ПРОБЛЕМА: я перезапустил Apache, но не смог снова запустить программу.

Попытка решения 1: Это не сработало. У меня не было таких программ, как SKYPE, загружающих порты, но я все равно попытался изменить настройки порта.

Попытка решения 2: Это не сработало. Еще одно решение, которое я прочитал, заключалось в том, чтобы также разрешить общий доступ в брандмауэре Windows или отключить брандмауэр. Я пытался это сделать.

Попытка решения 3: Это сработало. Наконец, я наткнулся на этот пост. Я открыл gitbash (хотя командная строка Windows по умолчанию будет работать нормально).

Я набрал "cd c: / xampp / apache / bin", а затем набрал "httpd"

Это привело меня к синтаксической ошибке и указывало на конкретную строку в моем файле "httpd-vhosts". Я выяснил, что не так с этой строкой, в моем случае это отсутствующий "#". Сохраните файл и снова наберите httpd. На этот раз запустился сервер apache.

Надеюсь, это поможет некоторым людям!

person hekx    schedule 31.03.2014
comment
Это помогло мне добраться до того, что мне нужно было найти. В моем случае мне нужно изменить свой порт (Listen) и ServerName в файле httpd.config. Спасибо! - person werdsackjon; 15.01.2016
comment
Большое спасибо. Помог мне. Была проблема с синтаксисом корневого каталога. Я сделал это с обратной косой чертой, и это было неправильно. неправильно: C:\Users\projects правильно: C:/Users/projects - person Vadim; 26.04.2016
comment
Спасибо, сэр. Кроме того, моя новая папка apache / extra не содержала нужных файлов (предыдущая установка), поэтому я просто скопировал их из своей старой установки и перезаписал новые файлы старыми. Я обновился, и это сработало. - person megatr0n; 19.08.2017
comment
Спасибо, ваше Решение 3 очень помогло мне отладить мои ошибки. - person Sunchock; 27.07.2020

В моем случае мне пришлось установить XAMPP на сервере, на котором запущен IIS, и я должен запустить IIS. Итак, в XAMPP, если вы измените порт с помощью основной кнопки Config> Service and Port Settings, он ничего не сделает. Вместо этого просто нажмите кнопку Config для Apache, а затем Apache (httpd.conf). Измените «слушать 80» на «слушать 8080» (без кавычек) или любой другой номер порта, который вы хотите - просто убедитесь, что он в настоящее время не используется. Надеюсь, это кому-то поможет.

person user1060641    schedule 21.02.2014
comment
Спасибо за заметку о запуске Apache из командной строки ... У меня была еще одна ошибка, но запуск из консоли xampp совершенно бесполезен - person r0m4n; 30.03.2014

Эта проблема может возникнуть по трем причинам: 1. ServerRoot, неверный путь DocumentRoot. 2. Другие приложения, уже использующие порты в httpd.config или httpd-ssl.config. Пользовательская кнопка NetStat на панели управления XAMP для проверки этого конфликта 3. Порт, установленный на панели управления XAMP для httpd / httpd-ssl, не совпадает с тем, что задано в соответствующих файлах конфигурации.

Чтобы устранить проблему, исправьте указанные выше несоответствия.

person Praveenke    schedule 27.02.2015

Я столкнулся с той же проблемой, и вот как я ее решил.

  • Skype использовал порт 80, который требуется серверу Apache. поэтому откройте скайп и выберите Инструменты> Параметры> Дополнительно> Соединение. Снимите галочку «Использовать порты 80 и 443 для дополнительных входящих подключений».

  • Откройте панель управления XAMPP, откройте файл httpd-ssl.config и найдите строку «Listen 443» для другого порта (например, «Listen 444»).

person Praboda    schedule 22.09.2015

Возможно придется порты настроить. В панели управления XAMPP в строке Apache вы можете увидеть кнопку с названием «Config». Щелкните по нему, а затем в «Apache (httpd.conf)». Он открывает файл, и вам нужно прокрутить его до строки, где есть что-то вроде:

#Listen 12.34.56.78:80

# Слушай 80

Измените строку "#Listen 80" на "#Listen 8088".

Может это решит проблему.

person Carlos Eduardo Coelho    schedule 15.05.2018
comment
Вы бы хотели удалить ведущий #, иначе строка все еще закомментирована и будет проигнорирована, а Apache по-прежнему будет использовать значение по умолчанию 80. - person Rup; 16.05.2018

Мои файлы журнала не были заполнены Средство просмотра событий Windows не регистрировало ошибки, возникшие из apache. Но запуск apache из строки cmd выдавал сообщение об ошибке, не удалось привязать порт 80. У меня был Skype, работающий на порту 80. Выход из Skype не решил проблему. Поэтому я настроил свой порт на 90 в файле httpd.conf.


person Muthu Raman Kannan    schedule 25.09.2019

У меня были те же проблемы, что и у многих здесь, и я смог отследить их до apache / conf / extra / httpd-ssl.config. Пришлось закомментировать SSLCertificateFile "conf/ssl.crt/server.crt". Однако это само по себе не устранило мою проблему, а запуск httpd из интерфейса командной строки не выявил никаких ошибок. Я понял, что мне также нужно установить SSLEngine off в httpd-ssl.config.

Примечание: я сделал это на локальном тестовом сервере.

person Royale    schedule 27.01.2021