XAMPP - Порт 80, який використовується "Неможливо відкрити процес" з PID 4! 12


182

Я два роки намагаюся розібратися, як виправити цю проблему. Я новачок у такій речі, тому я би вдячний, якби хтось міг сказати мені, як це виправити.

Я спробував видалити скайп, але це не спрацювало, я спробував вимкнути всесвітню веб-річ, 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

2
Немає уваги вводити його тут, не всі знають все про комп'ютери. Я просив допомоги, я переглянув її, і все, що кажуть люди, не працює.
— user3097839

А, це має більше сенсу зараз. Спробуйте petri.co.il/quickly_find_local_open_ports.htm, щоб дізнатись, хто блокує порт 80
— Pekka

9
@Pekka Я працюю з комп’ютерами з недавнього часу після того, як я перестала тріскати памперси, я також була програмістом вже майже десятиліття, і я гугла в цьому питанні і з вдячністю, тому що люди, які задають і відповідають на це питання, ВИКОРИСТОВУЮТЕ це сайт, я швидко знайшов відповідь. Хоча це, мабуть, має бути перенесено на суперкористувача, занепокоєння людей і змушення їх почувати себе дурними, коли вони задають законне питання, суперечить тому, як функціонує ця громада. Я пропоную вам знайти якусь іншу мету в житті.

3
Ну я не впевнений, де цей результат був отриманий під час вашого пошуку, але в моєму пошуку, завдяки цій темі, це було в списку. Ось саме до цього прагне бути ця громада, добре помітна і добре відома база знань для подібних матеріалів. Тож, хоча я ціную те, що ви говорите, насправді місія виконана завдяки ОП.

@TechnikEmpire, але те, що це питання зараз є високопоставленим результатом Google, є частиною проблеми, а не рішенням. Результат Google вже містив чудові відповіді до появи цього питання - я перевіряв, перш ніж робити коментар, завжди так роблю. Ці відповіді, можливо, тепер були відсунуті цим запитанням через величезний зв'язок SO з Google. Дивіться також дискусію тут: meta.stackexchange.com/questions/160565/…
— Pekka

Відповіді:


354
  1. Відкрийте рядок CMD як адміністратор та виконайте таку команду:

    net stop was /y
    
  2. Відкрийте діалогове вікно Запуск (натисніть Win+ R) і введіть:services.msc

    Потім знайдіть Службу публікації World Wide Web (WWW-Publishing Service) та Службу агентів веб-розгортання та зупиніть їх. Ви також повинні їх відключити.

  3. Почніть Apache знову з XAMPP :)

Посилання на посилання: https://www.sitepoint.com/unblock-port-80-on-windows-run-apache/


15
Я не можу знайти всесвітню павутину
— Мохаммад Кермані

4
Ще один спосіб отримати доступ до послуг - перейти доControl Panel > System and Security > Administrative tools > Services
— Al.G.

28
"Служба звітності SQL Server" (MSSQLSERVER) "також використовує порт 80, і тому його слід зупинити, якщо на вашій машині буде встановлено сервер MS-SQL.
— johnkarka

1
Будь-яка ідея, чому це може статися? Це Windows душею чи хтось зламає мою машину?
— Стен Квін

5
Я вимкнув послуги видавництва World Wide Web і проблема була вирішена! Дякую.
— Майк Страттон

139

Ще один дуже простий варіант - просто налаштувати Apache на прослуховування в інший порт. Це можна зробити, натиснувши кнопку «Налаштувати» в тому ж рядку, що і модуль «Apache», у спадному меню виберіть файл «httpd.conf», а потім змініть рядок «Прослухати 80» на «Прослухати 8080». Збережіть файл і закрийте його.

Тепер він уникає Port 80 і використовує Port 8080 замість цього без проблем. Єдине додаткове, що вам потрібно зробити, це переконатися, що ви розмістите його localhost:8080в браузері, щоб браузер знав, що він шукає порт 8080. В іншому випадку він за замовчуванням має порт 80 і не знайде ваш локальний сайт.

Це також потребує перезавантаження Apache, щоб зміни вступили в силу.

Вуаля! Виправлено.


Мені було піднято силу до Windows 10, і вона зламала встановлення XAMP, ця відповідь виправила це для мене. Дякую!
— Ян

Це працювало і для мене, за винятком того, що я вийшов із усього, натиснув на xampp_start C:/xamppі змінив його на порт 81. 8080 не працював для мене.
— користувач3553260

1
Я рекомендую ваше рішення. У моєму випадку мені потрібно розробити ASP .NET Application та PHP. Якщо я зупиняюся, World Wide Web Publishing Serviceя не можу працювати над моєю програмою ASP. Так що зміна порту є рішенням для мене. Дякую!
— mihkov

3
У додатковому файлі httpd.conf вам також може знадобитися змінити порт з "Налаштувати"> "Налаштування сервісу та порту". На вкладці "Apache" змініть значення "Main Port" на новий порт
— Ian A

42

У httpd.conf змініть наступні рядки та перезапустіть програму:

  • Listen 80 до Listen 8080
  • ServerName localhost:80 до ServerName localhost:8080

Після натискання кнопки "Пуск" програма все ще може сказати, що ви маєте помилку типу "Порт 80 у використанні" Неможливо відкрити процес "з PID ...", але він все одно буде працювати.

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

У зміні httpd-ssl.conf:

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

Мені в кінцевому підсумку довелося це зробити у своєму питанні. добро! що PID є системою.
— mzimhle

42

Витягнуто з цієї статті :

  1. Перейдіть до команди run і введіть:

    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. Я зупинив службу для всіх встановлених екземплярів, і вона працювала (без машинного перезавантаження).


7
Працював на пострілі. У моєму випадку виявилося, що це служби звітування на сервері SQL. Я зупинив службу для всіх встановлених екземплярів, і вона працювала (без машинного перезавантаження). Дякую.
— сангам

1
Дуже корисно .. перед цим я змінив скайп-порт. і закриття служб sql мені дуже допомогло. Дякую багато
— Waqar

2
нарешті, і в моєму випадку це був MSSQL
— Том Сардуй

1
зупинення служб звітування SQL Server (MSSQLSERVER) працювало на мене
— Порушення

1
Дякую, це була відповідь для мене.
— балон

34

Тому я зіткнувся з тією ж проблемою, коли намагався запустити послугу Apache, і хотів би поділитися своїми рішеннями з вами. Ось кілька приміток щодо служб або програм, які можуть використовувати порт 80:

  1. Skype : Skype використовує порт 80/443 за замовчуванням. Ви можете змінити це Tools -> Options -> Advanced -> Connectionsі відключити прапорець "використовувати порт 80 та 443 для додаткових вхідних з'єднань" .

  2. IIS : IIS використовує порт 80 за замовчуванням, тому його потрібно вимкнути. Можна використовувати наступні дві команди: net stop w3svc, net stop iisadmin.

  3. Служба звітування SQL Server : Вам потрібно зупинити цю послугу, оскільки вона може зайняти порт 80, якщо IIS не працює. Перейдіть до місцевих служб і зупиніть це.

  4. Робоча станція VMware : Якщо ви працюєте з VMware Workstation, вам також потрібно зупинити сервер VMware Workstation - порт 443.

Ці параметри зі мною чудово працюють, і я можу запустити сервіс Apache без помилок.

Інший варіант - змінити порт прослуховування Apache з httpd.conf та встановити інший номер порту.

Сподіваюся, що це рішення допоможе кожному, хто знову зіткнеться з тією ж проблемою.


4
Моя була служба звітування SQL Server. Дякую!
— Джаянга Каушаля

зупинка w3svc виправила мою проблему на Windows 10. Чудова відповідь.
— Нокс

Як ви можете сказати, які служби використовують порт 80? (Windows 10)
— Кріс Нільсен

Для мене це спрацювало "IIS: IIS використовує порт 80 за замовчуванням, тому вам потрібно його вимкнути. Ви можете використовувати такі дві команди: net stop w3svc, net stop iisadmin"
— Singh

33

Можливо, вам доведеться зупинити "Службу агента веб-розгортання"

Натисніть Win + R і введіть services.msc

Клацніть правою кнопкою миші на службі агента веб-розгортання та виберіть "Зупинити"

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

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


1
Чи може виникнути проблема, якщо вимкнути цю послугу?
— Мухаммед Муазам

6
  1. Відкрийте диспетчер завдань (Ctrl + Alt + Delete).
  2. Перейдіть на вкладку "Деталі".
  3. Сортувати за номером PID
  4. Закінчити процес, який використовує номер PID, вказаний помилково.
  5. Перезапустіть XAMPP.

2
У моєму випадку саме PID4 використовує систему. Тому це може бути небезпечно.
— Fusion

працював для мене, оскільки порт використовувався іншим моїм сервером. І врахуйте також коментар @ Fusion
— Varshaan

6

Оскільки в цьому питанні є коментар @johnkarka, цей порт використовується і службою звітування SQL Server. Після припинення цього Apache почав чудово.

  1. Перейдіть до "Менеджера конфігурації SQL Server"
  2. Клацніть на "Служба звітування SQL Server" і зупиніть її

введіть тут опис зображення

Найсмішніше, що IIS працював чудово в тій же конфігурації, але не Apache, довелося зупинити службу SQL Reporting, щоб змусити її працювати на порту за замовчуванням (80).


4

Те, що для мене працювало, - це зупинка Інтернет-інформаційних служб (IIS). Якщо ви використовуєте Windows 7, натисніть кнопку "Пуск" і в полі пошуку введіть "iis". Клацніть на "Менеджер інформаційних служб Інтернету (IIS)". Коли з'явиться вікно та припускаючи, що у вас не вибрано жодної піктограми, вам слід просто натиснути кнопку "Стоп" на правій панелі дій. Мій XAMPP Apache запустився прямо вгору. Сподіваюсь, це все спрацювало для вас


3

У Windows 10 звільнити порт 80:

у моєму випадку я відкриваю "Послуги" у "Пошук Windows" (у лівому куті на екрані), потім зупиняю всі сервіси SQL сервера MSSQLSERVER і вона працює знову


3

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

  1. Запустіть RegEdit
  2. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP
  3. Змініть значення "start" на 4 (вимкнено)
  4. Перезавантажте комп'ютер

Не впевнений, як це впливає на інші послуги, але це вирішило проблему назавжди, і поки що я не бачив жодної проблеми.

Використання Windows 10.


2

Якщо у вас служба SQLServer Reporting Services працює локально, вам також потрібно зупинити це.


2

У мене була така ж проблема, але в моєму випадку Apache вже працює, і інструмент конфігурації XAMPP чомусь цього не показав. Це сталося після того, як я вперше запустив XAMPP після встановлення. Після збоїв інших екземплярів Apache все було нормально, а порти 80 і 443 знову були вільними.

Тому перш ніж вносити зміни до системи, переконайтеся, що щось настільки очевидне, як зазначено вище, не відбувається.


2

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


2

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

"Служба BranchCache" в послугах.

Так чи інакше оновлення Windows, ця послуга запускається при запуску і використовує 80 портів. Перевіряючи через netstat, ви могли бачити, що система використовується, але ви не можете зрозуміти, яка служба використовується.


1
Відключення цієї послуги після кожного оновлення Windows 10 вирішує проблему
— Метт

2

Після зміни основного порту 80 на 8080 вам потрібно оновити порт на панелі керування: введіть тут опис зображення Потім натисніть тут: введіть тут опис зображення І тут: введіть тут опис зображення Потім збережіть і перезапустіть.


1

Клацніть служби на панелі керування Xampp (назва файлу - послуги.msc, додаткова інформація).

Спочатку шукайте IIS, якщо він працює. Зупиніть його (зупиніть цю опцію послуги ліворуч після натискання на назву послуги.). Тоді це головна проблема, шукайте службу веб-розгортання (не точну назву, хоча вона має веб-розгортання на початку.) Припиніть і цю послугу. Спробуйте ще раз, і Apache повинен працювати.

Якщо ви користуєтесь Skype, вийдіть із цього теж, запустіть Apache, а потім запустіть Skype


Як правило, Skype підписує порт 80, але розумніший за XAMPP і використовуватиме інший порт, як тільки зрозуміє, що 80 належить Apache Server
— ytpillai

1

У мене була така ж проблема, коли мені було встановлено MS WebMatrix, IIS Server був заблокований порт 80, на якому працює XAMPP. Я намагався знайти Службу видавництва World Wide Web і зупинити її, але не зміг знайти її у списку. Найкращий спосіб - це зміна порту.

Будь ласка, зверніться за цим
посиланням ref.


1

Для тих, хто має ASP.NET, C # або мають користувачів SQL Server, якщо ви використовуєте SQlServer АБО Visual Studio, можливо, зіткнеться ваш порт. Найпростіше, що ви можете зробити, це зробити в Command> servies.msc, а потім знайти службу звітування сервера SQl, а потім зупинити її.


0

якщо послуга http.sys

Вам потрібно змінити прив’язану IP-адресу для http.sys

netsh http add iplisten ipaddress = ::

Працює нормально без перезавантаження ОС.


0

Служба агента веб-розгортання розгорнута за допомогою WebMatrix і стала причиною моїх неприємностей. Він також може поширюватися з іншими програмами, встановленими за допомогою веб-платформи Microsoft Microsoft Installer.

Видалення це вирішило мої проблеми!


Ні, просто змініть порт, який слухає сервер.
— ранго

0

Для мене зазвичай працює: - Вимкнення Skype - Вимкнення всіх процесів SQL Server, відображених у services.msc, - Вимкнення всесвітньої веб-публікації в services.msc


0

Зазвичай працює після зупинки сервера IIS та Skype


0

XAMPP - Порт 80, який використовується "Неможливо відкрити процес" з PID 4! 12

запустіть коментар у cmd-списку завдань

і знайдіть, яке ім'я PID та процес пов’язане з цим тепер відкритим менеджером завдань вікна

ви також можете відкрити менеджер завдань вікна за допомогою CTRL + ALT + DEL

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

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


0

У мене був такий самий випуск. Після деякого гуглінгу прийшов на цю сторінку. Оскільки я думаю, що ця помилка може мати різні причини, тому прислухайтеся до мого досвіду:

Журнал червоної лінії 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 більше не повторилася.

Тому іноді пошук ймовірних пунктів зупинки у вашому коді є хорошим підходом.


0

У Ubuntu за замовчуванням система не дозволить вам займати привілейовані порти [0 до 1023], крім того, щоб вказати порт як 80, вам потрібно запустити XAMP з sudo.


-1

Я пишу це, тому що я не можу знайти одяг для того ж питання. У моєму випадку PID склав 2484.

  1. ви повинні знайти процес або послугу з цим PID: відкрийте cmd (у Windows) і напишіть:

    tasklist
    
  2. Знайдіть свій PID у цьому списку та прочитайте назву процесу чи послуги.

  3. Тепер ви можете вбити це за допомогою диспетчера завдань

  4. знайти це ім'я у списку процесів

  5. натисніть Завершити процес.

Оце моя справа. Можливо, ви повинні відкрити services.msc і припинити обслуговування зі своїм PID.

На моєму комп’ютері xampp це працювало чудово :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.