XAMPP - Порт 80 используется "Невозможно открыть процесс" с PID 4! 12

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

Я попытался удалить skype, но это не сработало, я попытался отключить веб-сайт во всем мире, IIS отключен, похоже, не работает.

12:51:22 PM  [Apache]   Problem detected!
12:51:22 PM  [Apache]   Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM  [Apache]   Apache WILL NOT start without the configured ports free!
12:51:22 PM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port

Ответ 1

  1. Откройте приглашение CMD от имени администратора и выполните следующую команду:

    net stop was /y
    
  2. Откройте диалоговое окно "Выполнить" (нажмите Win + R), затем введите: services.msc

    Затем найдите службу публикации в Интернете (служба публикации в Интернете) и службу агента веб-развертывания и остановите их. Вы также должны отключить их.

  3. Запустите Apache снова с XAMPP :)

Ссылка Ссылка: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

Ответ 2

Еще один очень простой способ - просто установить Apache для прослушивания на другом порту. Это можно сделать, нажав кнопку "Конфигурация" в той же строке, что и модуль "Apache", в раскрывающемся списке выберите файл "httpd.conf", затем измените строку "Listen 80" на "Listen 8080". Сохраните файл и закройте его.

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

Это также потребует перезапуска Apache, чтобы изменения вступили в силу.

Voila! Фиксированный.

Ответ 3

В httpd.conf измените следующие строки и перезапустите приложение:

  • Listen 80 to Listen 8080
  • ServerName localhost:80 to ServerName localhost:8080

Когда вы нажимаете "Старт", приложение все еще может сказать, что у вас есть ошибка, например "Порт 80, используемый" Невозможно открыть процесс "с помощью PID...", но он все равно будет работать.

Если ошибка включает "Порт 443, используемый" Невозможно открыть процесс "с помощью PID...", вам нужно изменить как httpd.conf, так и httpd-ssl.conf.

В изменении httpd-ssl.conf:

  • Listen 443 to Listen 4433
  • <VirtualHost _default_:443> to <VirtualHost _default_:4433>
  • ServerName www.example.com:443 to ServerName www.example.com:4433

Ответ 4

Извлечено из этой статьи:

  1. Перейдите к команде запуска и введите:

    netstat -o -n -a | findstr 0.0:80

Последний номер здесь - это идентификатор процесса, который его использует. Чаще всего это служба IIS или другой веб-службы, которую легко разрешить, но время от времени (очень часто это выглядит как гугл в Google) это выглядит как PID 4, который согласно диспетчеру задач Windows является ядром NT и система. Не очень полезно, если убить, это приведет к синему экрану смерти.

Порт 80 не имеет ничего общего с IIS или веб-интерфейсом, а именно с SQL Server Reporting Services. Отключите все, что напоминает службы SQL Server, и снова запустите Apache, перезагрузка не требуется.

Так проблемы с PID 4 прослушиванием порта 80? Проверьте свои службы SQL и отключите их.

ОБНОВЛЕНИЕ - Комментарий от @sangam:

Работал на выстрел. В моем случае это была отчетность по SQL серверу Сервисы. Я остановил службу для всех установленных экземпляров, и все заработало (без перезагрузки машины).

Ответ 5

Таким образом, я столкнулся с такой же проблемой при попытке запустить службу Apache, и я хотел бы поделиться с вами своими решениями. Вот некоторые сведения об услугах или программах, которые могут использовать порт 80:

  • Skype. По умолчанию используется порт 80/443. Вы можете изменить это из Tools -> Options -> Advanced -> Connections и отключить флажок "использовать порт 80 и 443 для дополнительных входящих соединений" .

  • IIS: IIS использует порт 80 по умолчанию, поэтому вам нужно закрыть его. Вы можете использовать следующие две команды: net stop w3svc, net stop iisadmin.

  • Служба отчетов SQL Server. Вам необходимо остановить эту службу, потому что она может занять порт 80, если IIS не запущен. Перейдите в локальные службы и остановите его.

  • Рабочая станция VMware. Если вы используете VMware Workstation, вам необходимо также остановить сервер VMware Workstation - порт 443.

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

Другой вариант - изменить порт прослушивания Apache с httpd.conf и установить другой номер порта.

Надеемся, что это решение поможет всем, кто сталкивается с такой же проблемой снова.

Ответ 6

Вам может потребоваться остановить "Агент агента развертывания веб-сайтов"

Нажмите Win + R и введите services.msc

Щелкните правой кнопкой мыши службу агента веб-развертывания и выберите "Остановить"

Перезапустить XAMPP

Также после двойного щелчка "Служба агента веб-развертывания" вы можете сделать тип запуска вручную, чтобы "Служба агента веб-развертывания" не запускалась автоматически

Ответ 7

  • Откройте диспетчер задач (Ctrl + Alt + Delete).
  • Перейдите на вкладку "Сведения".
  • Сортировать по номеру PID.
  • Завершить процесс, который использует номер PID, указанный по ошибке.
  • Перезапустите XAMPP.

Ответ 8

Что сработало для меня, это остановка информационных служб Интернета (IIS). Если вы используете Windows 7, нажмите кнопку "Пуск" и в поле поиска введите "iis". Нажмите "Диспетчер служб IIS". Когда откроется окно и предполагается, что у вас нет ни одного из выбранных значков, вы должны просто нажать "Стоп" на правой панели действий. Мой XAMPP Apache начал работу. Надеюсь, все это сработает для вас.

Ответ 9

Поскольку @johnkarka комментирует этот вопрос, этот порт также используется службой отчетов SQL Server. После остановки Apache начал нормально.

  1. Перейдите в "Диспетчер конфигурации SQL Server"
  2. Нажмите "Служба отчетов SQL Server" и остановите ее

.enter image description here

Самое смешное, что IIS работал нормально в той же конфигурации, но не в Apache, пришлось остановить службу отчетов SQL, чтобы она работала на порте по умолчанию (80).

Ответ 10

В окнах 10, чтобы освободить порт 80:

в моем случае я открываю "Службы" из "Поиск в Windows" (в левом углу экрана), а затем останавливаю все службы SQL Server MSSQLSERVER и снова работает

Ответ 11

У меня тоже была эта проблема, и остановка сервисов с использованием порта 80 не помогла. Я решил это, выполнив эту процедуру (найденную на французская доска):

  • Запустить RegEdit
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  • Измените значение "start" на 4 (отключено)
  • Перезагрузите компьютер.

Не уверен, как это влияет на другие службы, но оно решило проблему постоянно, и до сих пор я не видел никаких проблем.

Использование Windows 10.

Ответ 12

Если у вас есть службы отчетов SQLServer, работающие локально, вам также необходимо остановить это.

Ответ 13

У меня была такая же проблема, но в моем случае Apache уже работал, и по какой-то причине инструмент конфигурации XAMPP не показывал этого. Это произошло после того, как я начал XAMPP впервые после установки. После сбоя других экземпляров Apache все было нормально, а порты 80 и 443 снова были свободными.

Итак, прежде чем вносить изменения в вашу систему, убедитесь, что что-то очевидное, как указано выше, не происходит.

Ответ 14

"Служба отчетов SQL Server" вызывала проблемы в моей системе, после ее остановки Apache начал нормально работать

Ответ 15

Нажмите службы на панели управления Xampp (имя файла - services.msc, дополнительная информация).

Во-первых, найдите IIS, если он запущен. Остановите его (остановите эту сервисную функцию слева после нажатия на название службы.). Затем это основная проблема. Обратитесь к службе развертывания Web (не точное имя, хотя вначале оно имеет веб-развертывание). Остановите эту службу. Попробуйте еще раз, и Apache должен работать.

Если вы используете Skype, выйдите из него, запустите Apache, затем запустите Skype

Ответ 16

У меня была такая же проблема, когда я был установлен MS WebMatrix, IIS Server был заблокирован порт 80, на котором запущен XAMPP. Я попытался найти World Wide Web Publishing Service и остановить его, но не смог найти его в списке. Лучший способ - изменить порт.

Пожалуйста, обратитесь к этому
ссылка ссылка

Ответ 17

У меня такая же проблема, я решил проблему, просто отключил

"Служба BranchCache" в сервисах.

Как-то обновляется Windows, эта служба запускается при запуске и использует 80 портов. Когда вы проверяете через netstat, вы можете видеть, что система используется, но не может понять, какая служба используется.

Ответ 18

Для тех, у кого ASP.NET, С# или пользователи SQL Server: если вы используете SQlServer ИЛИ Visual Studio, возможно, ваш порт встретится. самое простое, что вы можете сделать, это в Command> servies.msc, затем найти SQl Server Reporting Service и затем остановить его.

Ответ 19

если служба http.sys

Вам необходимо изменить связанный IP-адрес для http.sys

netsh http add iplisten ipaddress =::

Прекратите работу без перезагрузки os.

Ответ 20

Служба агента веб-развертывания развертывается с помощью WebMatrix и является причиной моих проблем. Он также может быть распространен с другими приложениями, установленными с помощью Установщика веб-платформы Microsoft.

Удалите его, чтобы решить мои проблемы!

Ответ 21

Для меня обычно работает:  - Отключить Skype  - Отключить все процессы SQL Server, отображаемые в services.msc  - Отключите публикацию всемирной паутины в services.msc

Ответ 22

Обычно он работает после того, как вы остановите IIS Server и Skype

Ответ 23

XAMPP - порт 80 используется "Невозможно открыть процесс" с PID 4! 12

запустите комментарий в списке задач cmd

и найдите, какое имя PID и имя процесса связано с этим диспетчером открытых окон

вы также можете открыть диспетчер задач окна с помощью CTRL + ALT + DEL

теперь щелкните вкладку процесса и найдите имя, которое использует PID, и щелкните правой кнопкой мыши на нем и конечный процесс

теперь снова перезапустите xampp

Ответ 24

У меня была такая же проблема. После некоторого поиска в Google прибыл на эту страницу. Так как я предполагаю, что у этой ошибки могут быть разные причины, послушайте мой опыт:

Журнал красной строки Xampp:

12:53:54 PM  [Apache] Problem detected!
12:53:54 PM  [Apache]   Port 443 in use by "Unable to open process" with PID 3908!
...

Наконец-то оказалось, что у меня есть эта строка кода в моих кодах php:

$res = file_get_contents("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");

Целью этого куска кода было получение зеркала результата php где-то на моем сервере. Но он просто застрял в цикле, который получает свой собственный контент!

Я восстановил код:

$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));

Затем я перезапустил apache... и эта ошибка apache больше не повторялась.

Так что иногда поиск возможных точек остановки в вашем коде является хорошим подходом.

Ответ 25

В Ubuntu по умолчанию система не позволяет вам занимать привилегированные порты [от 0 до 1023], кроме указания порта как 80, вам нужно запустить XAMP с sudo.

Ответ 26

Я пишу это, потому что я не могу найти ответ на тот же вопрос. В моем случае PID был 2484.

  • вы должны найти процесс или услугу с этим PID: откройте cmd (в Windows) и напишите:

    tasklist
    
  • Найдите свой ПИД в этом списке и прочитайте имя процесса или службы.

  • Теперь вы можете убить это, используя диспетчер задач

  • найти это имя в списке процессов

  • нажмите "Завершить процесс".

Это мое дело. Возможно, вы должны открыть services.msc и остановить службу с вашим PID.

На моем компьютере xampp он работал нормально:)