XAMPP: Порт 80 занят "Не удается открыть процесс" с PID 4
Проблема с XAMPP: Port 80 занят
Я сталкиваюсь с проблемой при запуске XAMPP. При попытке запустить Apache, система выдает следующее сообщение об ошибке:
Port 80 in use by "Unable to open process" with PID 4!
Apache WILL NOT start without the configured ports free!
You need to uninstall/disable/reconfigure the blocking application
or reconfigure Apache and the Control Panel to listen on a different port.
Я пробовал множество решений, начиная с удаления службы публикации World Wide Web, но это не сработало, так как она у меня вообще не установлена. Также я использовал командную строку для получения информации о текущих активных соединениях, и вот что было выведено:
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 Dave:0 LISTENING 4
...
Я не понимаю, почему это не работает, так как еще пару дней назад всё функционировало правильно. Когда я выполняю команду netstat -a -b
, результат такой:
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 Dave:0 LISTENING
Can not obtain ownership information
...
Кто-нибудь может помочь мне разобраться с этой ситуацией? Почему XAMPP не запускается, и как можно устранить эту проблему? Заранее благодарен!
3 ответ(ов)
Чтобы настроить Apache на прослушивание другого порта, просто выполните следующие шаги. Нажмите кнопку "Config" рядом с модулем "Apache", выберите файл "httpd.conf" из выпадающего списка и измените строку "Listen 80" на "Listen 8080". Сохраните файл и закройте его.
Теперь Apache будет использовать порт 8080 вместо порта 80 без каких-либо проблем. Единственное, что нужно учесть — это установить в браузере адрес localhost:8080, чтобы он знал, что нужно искать на порту 8080. В противном случае браузер по умолчанию будет подключаться к порту 80 и не найдет ваш локальный сайт.
Я столкнулся с аналогичной проблемой при попытке запустить сервис Apache и хотел бы поделиться своими решениями с вами. Вот некоторые примечания о сервисах или программах, которые могут использовать порт 80:
Skype: по умолчанию Skype использует порты 80 и 443. Вы можете изменить это в меню "Сервис" → "Настройки" → "Дополнительно" → "Подключения" и отключить галочку "Использовать порты 80 и 443 для дополнительных входящих подключений."
IIS: IIS по умолчанию использует порт 80, поэтому вам нужно его остановить. Вы можете использовать следующие команды:
net stop w3svc net stop iisadmin
SQL Server Reporting Services: вам нужно остановить этот сервис, так как он может использовать порт 80, если IIS не запущен. Перейдите в "Службы" и остановите его.
Эти варианты отлично сработали для меня, и я смог запустить сервис Apache без ошибок.
Другой вариант — изменить порт прослушивания Apache в файле httpd.conf и установить другой номер порта.
Надеюсь, это решение поможет тем, кто снова столкнется с этой проблемой.
Если вы столкнулись с ошибкой: "Порт 80 занят 'Unable to open process' с PID 4! Apache не сможет запуститься, пока порты не будут освобождены!", то вот решение, которое вам поможет.
Первым делом откройте файл httpd.conf
в каталоге установки Apache (обычно в папке XAMPP). Найдите строки, начинающиеся с Listen
, и измените порт с 80 на 1234 в следующих местах:
# Listen 12.34.56.78:1234
Listen 1234
Также вам нужно зайти в панель управления XAMPP, открыть настройки (Config) и перейти в сервисы и настройки портов (Service and Port Settings). Здесь также измените порт с 80 на 1234.
После внесения этих изменений Apache должен запуститься без проблем. Надеюсь, это поможет!
PHP: максимальное время выполнения при импорте .SQL файла данных
Laravel 5: Ошибка SQLSTATE[HY000] [1045] Доступ запрещён для пользователя 'homestead'@'localhost' (используется пароль: ДА)
Функции startsWith() и endsWith() в PHP
Как получить расширение файла в PHP?
Как читать большой файл построчно?