apache в xampp не включается - после того, как он работал раньше - PullRequest
9 голосов
/ 04 февраля 2012

Я недавно установил Xampp на мой компьютер с Windows. Это сработало, когда я только что это сделал, см. здесь . Однако теперь апач не включается. Я понимаю, что неправильно закрыл (не использовал xampp_stop), так что, возможно, это может быть причиной.

Я получаю ошибку:

    make_sock: could not bind to address 0.0.0.0:80 
    no listening sockets available, shutting down 
    unable to open logs 

Как мне заставить его работать?

Ответы [ 11 ]

12 голосов
/ 24 апреля 2012

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

друзья apache

вот шаги, которые я отмечаю по ссылке:

  • Убедитесь, что папка xampp не находится в папке, содержащей пробелы или скобки, т. Е. (Program Files (x86)
  • Убедитесь, что вы запустили \ xampp \ setup_xampp.bat (возможно, от имени администратора)
  • в CMD запустите -netstat -a (или посмотрите в Xampp control beta 3 - и нажмите кнопку netstat ...), убедитесь, что на порте 80 ничего не работает (на win 7 большую часть времени это действительно скайп который использует порт 80) (выйдите из Skype и попробуйте снова, если это так, в Skype -> Параметры -> Дополнительно -> убедитесь, что «Использовать порт 80 как альтернативный флажок снят»
  • Если «система» использует порт 80, то его окна используют его (я читал, что это какая-то служба IIS) - если вы включите xampp в качестве службы и перезагрузитесь, то xampp захватывает порт 80 перед системой. ..
  • Если вы не хотите запускаться как служба, откройте xampp \ apache \ conf \ http.conf и измените порт, на котором будет работать apache (найдите строку «Listen 80» и «ServerName localhost: 80» и измените 80 к чему-то другому, например: "180")
  • Убедитесь, что вы используете Xampp control.exe от имени администратора
  • Временно остановите брандмауэр, чтобы увидеть, остановлен ли он (а затем попробуйте снова запустить apache), если это так, создайте исключение в брандмауэре Windows
  • Убедитесь, что ваш антивирус не останавливает его.
  • Если вы используете Windows 7 64 bit Ultimate (SP1) (как я) - то у вас все еще может быть проблема (как у меня)
  • последняя попытка - удалить папку xampp и загрузить предыдущую версию xampp, а затем повторить попытку.

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

7 голосов
/ 04 февраля 2012

Я закончил тем, что решил это. Перейти к панели управления Xampp. Установите флажок «Сервис». Нажал на кнопку «SCM». (Или кнопка «Сервис», есть кнопка «SCM»).
Затем я нажал на «Апач» в списке сервисов. Включил это.
Теперь он помечен как «Запуск» на панели управления, и «localhost» работает

6 голосов
/ 09 февраля 2012

Я столкнулся с этой проблемой пару месяцев назад.Вы должны установить Apache в качестве автоматической службы Windows, установив флажок Svc на панели управления XAMPP.После того, как вы установите его в качестве службы, вам нужно будет перезапустить Windows, прежде чем вы сможете запустить Apache.После перезапуска Windows вы сможете остановить и запустить Apache через панель управления XAMPP.

С в блоге об этом :

* 1007Причина, по которой вы должны это сделать, заключается в том, что в Windows 7 есть служба с именем http.sys, которая запускается автоматически и использует порт 80. Запуск Apache в качестве автоматической службы приводит к запуску apache перед службой http.sys.Это позволяет apache получить порт 80 до запуска http.sys.
4 голосов
/ 04 февраля 2012

Один: если он работает как сервис, проверьте ваши сервисы в windows и убедитесь, что он остановлен.

Два: если это не услуга, это будет просто процесс; зайдите в диспетчер задач и найдите httpd / apache и завершите процесс.

Три: убедитесь, что вы используете xampp_start / xampp_control от имени администратора, в некоторых системах это важно.

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

Попробуйте

netstat -aon | more

Если это не сработает, посмотрите, слушает ли что-нибудь еще этот порт, и завершите этот процесс.

Вы также можете отредактировать Apache httpd.conf (возможно, в xamppdir / apache / conf), чтобы прослушать другой порт и посмотреть, запустится ли он.

2 голосов
/ 28 января 2013

Шаги:

  1. изменить файл httpd.cong в следующих строках:

    Listen 8080

    ServerName localhost:8080 ( port as example, 8080)

  2. Теперь создайте файл xampp.ini, в котором расположен файл xampp-control.exe, и поместите в него код:

    [PORTS]

    apache = 8080

  3. Теперь перезапустите xampp.

Надеюсь, это сработает для изменения порта apache. Но если вы установили клиент Oracle 10g или какое-либо программное обеспечение, в котором установлен Perl, сделайте еще несколько шагов, как показано ниже:

4. изменить строки с:

`# Perl settings`

`Include "conf/extra/httpd-perl.conf"`

до

 `# Perl settings`

 `#Include "conf/extra/httpd-perl.conf"`

Теперь перезапустите xampp, и он работает правильно в порту 8080.

1 голос
/ 02 января 2013

У меня была похожая проблема, и после небольшого исследования я обнаружил, что виновником в моем случае была "служба публикации в Интернете" ( W3SVC в1005 * iissvcs группа).

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

Надеюсь, это поможет

1 голос
/ 30 мая 2012

Я нашел проблему в приложении TeamViewer - по умолчанию используется порт 80.В расширенной настройке я внес изменения, чтобы приложение не использовало порт 80 или 443 для входящих подключений.Затем переключился на xammp и снова побежал.Это работает!

0 голосов
/ 17 октября 2015

В моем случае я решил эту проблему, открыв xampp \ apache \ conf \ http.conf.

Я изменил Listen 80 на Listen 2337 Над этой строкой мне пришлось добавить Listen 127.0.0.1:80

Затем я открыл xampp \ apache \ conf \ httpd-ssl.conf

Я изменил Listen 80 на Listen 7332

Затем я мог снова подключиться к localhost.

0 голосов
/ 21 июля 2014

Это может помочь другим, поэтому я публикую свое конкретное решение.Я недавно обменял Zend Server CE на XAMPP (2.5).Файл VHOSTS должен быть настроен с помощью директивы Include для error_log.У меня были проблемы с SVN, поэтому я вытер проект, над которым работаю, чтобы получить новую установку.Тем не менее, мне довелось запустить XAMPP перед проверкой SVN.Именно тогда я заметил, что Apache занимается Busy ... Apache начал [Port 80] бизнес.Чей-то комментарий в этой теме напомнил мне о директиве Include.Я пролистал каталоги и добавил пустой error_log и blammo!Apache хорошо стартовал.

Это может помочь и кому-то еще:)

0 голосов
/ 15 августа 2013

Если ваша проблема не решена, отсканируйте эту страницу, чтобы найти ссылку «Windows Auto Fix». У меня это сработало: запустил инструмент, перезапустил ПК, все порты открыты, мгновенно включены.

http://support.microsoft.com/kb/811259/en

GL

...