Ответ 1
Открой скайп.
Сервис → Параметры → Дополнительно → Подключение.
Снимите флажок " Использовать порты 80 и 443 для альтернатив для входящих подключений "
Выйдите из системы и закройте все окна Skype. Попробуйте перезапустить ваш 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
Как это решить?
Открой скайп.
Сервис → Параметры → Дополнительно → Подключение.
Снимите флажок " Использовать порты 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 на 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.exe. Если вы запустите этот
c:\xampp\apache\bin\httpd.exe
в cmd вы получите дополнительную информацию (например, у меня некоторая проблема с файлом httpd.conf).
Связанный: Как я могу освободить свой порт 80 на localhost Windows? и Apache не будет запускаться в xampp
В панели управления XAMPP V3.2.1 нажмите кнопку "NetStat" в правом верхнем углу. Убедитесь, что порт 80 не используется какой-либо другой программой. Затем нажмите "Shell" прямо под ним. Выполните эту команду "Тип ap, затем TAB два раза"
Apache_Start.bat
Фактически вы обнаружите ошибку Apache. Это, скорее всего, проблема с настройкой виртуального хоста или может быть что-то еще. Он отобразит номер строки, на которой происходит ошибка. Просто исправьте эту ошибку. Обратите внимание, что в RootDocument конечный\может быть источником ошибки. Удалите все конечные "\".
Подробнее об ответе здесь >
Выполните следующие действия:
Выберите "Apache (httpd.conf)" и найдите этот код ниже и измените его на следующий:
#Измените это для прослушивания определенных IP-адресов, как показано ниже.
#, чтобы предотвратить доступ Apache к всем связанным IP-адресам.
#Listen 0.0.0.0:80
#Listen [::]: 80
Listen 80
# Поддержка динамического общего объекта (DSO)
# Примечание. Конфигурации, использующие IPv6, но не адресованные IPv4-адресам, нуждаются в двух
# Слушайте директивы: "Слушайте [::]: 443" и "Listen 0.0.0.0:443"
#
#Listen 0.0.0.0:443
#Listen [::]: 443
Listen 443
Подождите, и ваш компьютер/ноутбук автоматически перезагрузится и снова попытается открыть панель управления XAMPP, а затем запустите свой Apache.
Моя проблема заключалась в том, что в httpd.conf записи 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 (щелкните значок "Окно" в левом нижнем углу и введите там, где говорится "Поиск программы и файлы" ).
Откройте IIS (Internet Information Service).
В правой части панели действий. Нажмите "Стоп".
Примечание. Стоп-ссылка исчезает при съемке на экране. Как я его остановил.
Проблема решена!
У меня была такая же проблема, и оказалось, что я забыл запустить setup_xampp.bat
(переносимая версия).
Это сработало для меня...
Если вы используете Windows...
Поиск 'cmd' в панели поиска Windows.
Введите это: C:\xampp\apache\bin\httpd.exe
Найдите, в каком файле и в какой строке произошла ошибка.
Например, мой был в файле ниже в строке 37.
HTTPD-Multilang-errordoc.conf
Откройте код и исправьте ошибку, удалив строку или исправив ее.
Готово! Я должен работать сейчас.
:)
Простая вещь, которую вы можете сделать, это проверить, установлен ли на вашем компьютере Skype или VMware.
Skype использует порты 80 и 443 в качестве дополнительного порта для входящих соединений. Чтобы изменить номер порта в Skype, перейдите на
Сервис> Параметры подключения> Подключение
в окне скайпа. Теперь измените номер порта 80 по умолчанию на другой.
VMware Workstation использует порт 443 для совместного использования. Чтобы изменить это, откройте VMware Workstation и перейдите
Правка> Настройки> Общий Vms
Это все, что вам нужно сделать. Перезапустите XAMPP и запустите сервер Apache.
Когда я обнаружил, что не было никакого процесса, использующего порт 80 с помощью команд
netstat -abno | find ":80"
не было проблем ни в одном процессе, использующем порт 80.
Затем я запустил команду (в cmd)
C:\xampp\apache\bin\httpd.exe
она показала некоторую ошибку в конфигурации виртуальных хостов в файле httpd-vhosts.conf
который был недавно отредактирован мной для установки в среде WordPress PHP в Eclipse IDE. Поэтому я удалил эти строки и Apache запустился отлично.
У меня была такая же проблема когда-нибудь. У меня был старый ноутбук, на котором почти все порты были либо заблокированы, либо были неисправны. Вот как я это сделал.
Откройте панель управления XAMPP.
Нажмите Конфигурация
Затем перейдите в файл Apache httpd.conf. Откройте его с помощью текстового редактора.
Найдите "80" (сделайте Ctrl + F и найдите все их. Замените его 8080 или 4040 или 4000).
Сохраните файл. И перезапустите XAMPP.
Это сработало для меня, и я надеюсь, что это тоже поможет.
Для меня всемирная служба публикации в Интернете использовала порт 80. Я убил это, выполнив следующую команду на cmd:
net stop http
После этого XAMPP без проблем запускал Apache.
Кажется, никто не ответил о выполнении xampp_start.exe.
Я сделал все предыдущие ответы, но это не решило мою проблему. Я обнаружил, что запуск xampp_start.exe даст вам подробную информацию о проблеме.
Это было я вижу на моем конце:
Как вы видите, у меня возникла проблема с путём, или xampp указывает на несуществующую папку.
Эта ошибка возникает из-за того, что порт, выделенный для Apache, используется другой программой. Чтобы проверить приложение, которое использует порт, который мы выделили для Apache, его можно получить, нажав
Netstat.
Это файл Netstat,
Сначала я выделил порт 8080 для Apache, и я недавно установил Oracle DB.TNSLSNR.exe теперь использовал порт 8080.
Итак, просмотрев этот файл, мы можем выбрать порт, который не сталкивается с другими приложениями. В моем случае порт 8060 не сталкивается с каким-либо приложением. Выбрав, мы можем изменить файл httpd.conf (панель управления XAMPP → Config), как указано выше.
В моем случае эта проблема была вызвана попыткой загрузить другой продукт bitnami, например WordPress. Это обычно при установке WordPress через XAMPP. Он помещается в каталог xampp/app
, доступ к которому можно получить с домашней страницы приложения XAMPP.
В качестве решения я удалил установленный по умолчанию WordPress из каталога xampp
и вручную установил WordPress в папку htdocs
WordPress, загрузив его и извлекая zip файлы в папку htdoc
. Вам также необходимо перезапустить XAMPP или систему после удаления/удаления WordPress по умолчанию. Теперь все в порядке.
Это событие из-за порта 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/...
Одна из причин может заключаться в том, что вы не используете панель управления XAMPP в качестве администратора.
Я решил проблему с остановкой службы "Служба агента веб-развертывания". Открыть: Система → Управление компьютером → Услуги → Служба агента развертывания веб-сайтов. Остановите эту службу и запустите XAMPP. Я думаю, что это сервис MS Webmatrix.
(немецкий: Systemsteuerung → System und Sicherheit → Verwaltung → Dienste → Webbereitstellungs-Agent-Dienst)
У меня было то же сообщение об ошибке, что и OP, но моя проблема не была решена ни одним из существующих ответов. Многие из ответов касаются конфликтов на порту 80, которые, как я знал, у меня не было, поскольку в последнее время у меня был локальный ответ на порт 80.
Оказывается, я непреднамеренно изменил ServerRoot, когда я намеревался изменить DocumentRoot (глупо, я знаю), и хотя новый серверный_сервер существует, он не содержит файлы конфигурации и другие необходимые файлы apache, которые вызвали его при запуске. Сообщение об ошибке, вероятно, относится к этому сценарию по формулировке "отсутствующие зависимости".
В моей системе Windows настройка ServerRoot на C:/XAMPP/apache решила проблему.
Сервер Apache по умолчанию работает на портах 80, 443. Ваша проблема в том, что один или оба из этих двух портов заняты. Обычно эти два порта используют Skype или VMware Workstation. Поэтому убедитесь, что они не работают. Лучший способ убедиться, что порты свободны в окнах:
Нажмите кнопку "Окно".
В строке поиска введите resmon, чтобы открыть монитор ресурсов resmon.exe.
Откройте Слушающие порты, это покажет вам открытые используемые порты.
Теперь вы можете видеть, какой процесс использует порты 80 и 443.
Затем вы можете убить процесс либо из CMD, используя его PID (который отображается на мониторе ресурсов), либо непосредственно из диспетчера задач.
Чтобы убить процесс из CMD с использованием типа PID
Taskkill /PID 26356 /F
, где 26356 является PID.
Сначала убедитесь, что ваша папка \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
с правами администратора. Он должен работать!
Для меня эта проблема возникла, когда я разместил VPN-соединение на своем компьютере под управлением Windows 8.
Простое удаление соединения из "Панели управления\Сеть и Интернет\Сетевые подключения" решило проблему.
У меня была та же проблема (в Windows 8.1), но я исправил ее, просто распаковав в C:\
вместо C:\somefolder
как я делал сначала. Так, например, путь к панели управления теперь C:\xampp\xampp-control.exe
Обратите внимание, что всякий раз, когда вы меняете порты по умолчанию, ваш браузер об этом не узнает. 80
и 443
кажутся стандартными в некотором роде, так, например, если вы изменили 80
на 8080
, вам придется обращаться к вашим сайтам таким образом:
localhost:8080/path_to_your_website.php
В моем случае это произошло после установки sql-сервера, и решение было таким, как описано в этом ответе
Xampp - Не удается запустить Apache после установки SQL Server и Visual Studio
поэтому мне пришлось просто отключить службу служб отчетов SQL Server из служб Windows.
Лучшее решение
откройте панель управления XAMPP, нажмите на конфигурацию для Apache, затем нажмите на Apache (httpd.config). Теперь в текстовом редакторе. ctrl + f → найдите "Listen 80" и замените его "Listen 8079" без цитат:) но теперь вы должны использовать его следующим образом http://localhost:8079/
P.S, я попытался изменить настройки порта для skype, остановив службу агента веб-развертывания, которую я не смог найти в Windows 10, cmd → net stop http и других методах, но ничего не работал, кроме этого.
Прежде всего, вы должны убедиться, что у вас нет лишних виртуальных хостов в вашем файле httpd-vhosts. Я имею в виду следующее простое правило: 1 project = 1 виртуальный хост в файле конфигурации. В противном случае вы столкнетесь с ошибкой, даже если вы измените порты и т.д.
Лучшее решение для пользователей Windows:
taskkill /pid PID
(вместо этого PID использует pid u, найденный из netstat)