it-swarm.dev

XAMPP - ¡El puerto 80 en uso por "No se puede abrir el proceso" con PID 4! 12

He estado tratando de averiguar cómo solucionar este problema durante dos días. Soy nuevo en este tipo de cosas, así que agradecería que alguien me dijera cómo solucionarlo.

He intentado eliminar skype, pero eso no funcionó, he intentado apagar la red mundial, IIS nada parece funcionar.

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
167
user3097839
  1. Abra una solicitud de CMD como administrador y ejecute el siguiente comando:

    net stop was /y
    
  2. Abra el cuadro de diálogo Ejecutar (presione Win+R), luego escribe: services.msc

    Luego busque Servicio de publicación en World Wide Web (Servicio de publicación WWW) y Servicio de agente de implementación web y detenerlos. También debe deshabilitarlos.

  3. Vuelve a iniciar Apache con XAMPP :)

Referencia del enlace: https://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

323
Vo Quoc Cuong

Otra opción muy fácil es simplemente configurar Apache para que escuche en un puerto diferente. Esto se puede hacer haciendo clic en el botón "Config" en la misma línea que el módulo "Apache", seleccione el archivo "httpd.conf" en el menú desplegable, luego cambie la línea "Listen 80" a "Listen 8080". Guarde el archivo y ciérrelo.

Ahora evita el puerto 80 y usa el puerto 8080 en su lugar sin problemas. Lo único que debe hacer es asegurarse de poner localhost:8080 en el navegador para que el navegador sepa que debe buscar en el Puerto 8080. De lo contrario, el Puerto 80 se encuentra por defecto y no encontrará su sitio local.

Esto también requerirá que reinicie Apache para que el cambio surta efecto.

Voila! Fijo.

133
gtr1971

En httpd.conf, cambie las siguientes líneas y luego reinicie la aplicación:

  • Listen 80 a Listen 8080
  • ServerName localhost:80 a ServerName localhost:8080

Cuando presionas "Inicio", la aplicación aún puede decir que tienes un error como "Puerto 80 en uso por" No se puede abrir el proceso "con PID ..." pero aún funcionará.

Si el error incluye "Puerto 443 en uso por" No se puede abrir el proceso "con PID ...", debe cambiar httpd.conf y httpd-ssl.conf.

En httpd-ssl.conf cambio:

  • Listen 443 a Listen 4433
  • <VirtualHost _default_:443> a <VirtualHost _default_:4433>
  • ServerName www.example.com:443 a ServerName www.example.com:4433
41
Ogglas

Extraído de este artículo :

  1. Ve a tu comando de ejecución y escribe:

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

El último número aquí es el ID de proceso que lo usa. Esto es más a menudo IIS u otro servicio web relacionado y es fácil de resolver, pero de vez en cuando (muy a menudo parece estar buscando en google) parece ser PID 4, que de acuerdo con la Tarea de Windows Manager es el núcleo y sistema NT. No es muy útil dado que matar esto resultará en una pantalla azul de la muerte.

El puerto 80 de la cosa no tiene nada que ver con IIS o cualquier cosa en la web, es SQL Server Reporting Services. Apague todo lo que se parezca a los servicios de SQL Server y vuelva a iniciar Apache, sin necesidad de reiniciar.

¿Entonces problemas con PID 4 escuchando el puerto 80? Comprueba tus servicios SQL y apágalos.

ACTUALIZACI&OACUTE;N- Comentario de @sangam:

Trabajó en un tiro. En mi caso, resultó ser servicios de informes del servidor SQL. Detuve el servicio para todas las instancias instaladas y funcionó (sin reiniciar la máquina).

35
chridam

Así que me enfrenté con el mismo problema al intentar iniciar el servicio Apache y me gustaría compartir mis soluciones con usted. Aquí hay algunas notas sobre servicios o programas que pueden usar el puerto 80:

  1. Skype : Skype usa el puerto 80/443 de forma predeterminada. Puede cambiar esto desde Tools -> Options -> Advanced -> Connections y desactivar la casilla de verificación "usar los puertos 80 y 443 para las conexiones entrantes adicionales" .

  2. IIS: IIS usa el puerto 80 como predeterminado, por lo que debe apagarlo. Puede usar los dos comandos siguientes: net stop w3svc, net stop iisadmin.

  3. Servicio de informes de SQL Server : debe detener este servicio porque puede tomar el puerto 80 si IIS no se está ejecutando. Ve a los servicios locales y detente.

  4. VMware Workstation : Si está ejecutando VMware Workstation, también debe detener el servidor VMware Workstation - puerto 443.

Estas opciones funcionan muy bien conmigo y puedo iniciar el servicio de Apache sin errores.

La otra opción es cambiar el puerto de escucha de Apache desde httpd.conf y configurar otro número de puerto.

Espero que esta solución ayude a cualquiera que se enfrente al mismo problema nuevamente.

33
Peter T.

Es posible que deba detener el "Servicio de agente de implementación web"

Presione Win + R y escriba services.msc

Haga clic con el botón derecho en el Servicio del agente de implementación web y seleccione "Detener"

Reiniciar XAMPP

Además, después de hacer doble clic en "Servicio de agente de implementación web", puede hacer que el Tipo de inicio sea Manual, para que el "Servicio de agente de implementación web" no se inicie automáticamente.

32
Stephen Burrows
  1. Abra el Administrador de tareas (Ctrl + Alt + Delete).
  2. Ir a la pestaña "Detalles".
  3. Ordenar por número de PID.
  4. Finalice el proceso que utiliza el número de PID indicado por error.
  5. Reinicie XAMPP.
6
wildebeest

Como hay comentarios de @johnkarka sobre la pregunta, este puerto también es utilizado por el servicio de informes de SQL Server. Después de detener esto, Apache comenzó bien.

  1. Vaya a "Administrador de configuración de SQL Server"
  2. Haga clic en "SQL Server Reporting Service" y deténgalo.

 enter image description here

Lo curioso es que IIS estaba funcionando bien en la misma configuración, pero no en Apache, tuvo que detener el servicio de informes SQL para que funcionara en el puerto predeterminado (80).

4
Hammad Khan

Lo que funcionó para mí fue detener los Servicios de información de Internet (IIS). Si está utilizando Windows 7, haga clic en el botón Inicio y en el cuadro de búsqueda, escriba "iis". Haga clic en "Administrador de Internet Information Services (IIS)". Cuando se abre la ventana, y suponiendo que no tiene ninguno de los íconos seleccionados, solo debería poder hacer clic en Detener en el panel de acción derecho. Mi XAMPP Apache se puso en marcha. Espero que todo haya funcionado para ti.

4
G.P. Greenleaf

En Windows 10, para liberar el puerto 80:

en mi caso, abro "Servicios" de "Buscar Windows" (en la esquina izquierda de la pantalla), luego detengo todos los servicios del servidor SQL MSSQLSERVER y vuelve a funcionar

3
N.P

He tenido el mismo problema, pero en mi caso, Apache ya se estaba ejecutando y, por alguna razón, la herramienta de configuración XAMPP no lo mostraba. Ocurrió después de que inicié XAMPP por primera vez después de la instalación. Después de bloquear las otras instancias de Apache, todo estaba bien y los puertos 80 y 443 estaban libres nuevamente.

Entonces, antes de hacer cambios en su sistema, asegúrese de que algo tan obvio como lo anterior no esté sucediendo.

2
magnetronnie

Yo también tuve este problema y detener los servicios usando el puerto 80 no me ayudó. Lo resolví siguiendo este procedimiento (que se encuentra en un tablero francés ):

  1. Ejecutar RegEdit
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  3. Cambiar el valor de "inicio" a 4 (deshabilitado)
  4. Reinicie su computadora

No estoy seguro de cómo afecta esto a otros servicios, pero resolvió el problema de forma permanente y hasta el momento no vi ningún problema.

Utilizando Windows 10.

2
vard

Si tiene SQLServer Reporting Services ejecutándose localmente, entonces también debe detener eso.

2
Senthil

"SQL Server Reporting Service" estaba causando problemas en mi sistema, después de detenerlo, Apache comenzó a funcionar bien

2
yadavr

Tengo el mismo problema, resolví el problema, simplemente deshabilitado

"Servicio BranchCache" en servicios.

De alguna manera, las actualizaciones de Windows, este servicio se activa en el inicio y utiliza 80 puertos. Cuando verifica a través de netstat, puede ver cómo se usa el sistema, pero no puede entender qué servicio se usa.

1
Günay Gültekin

Haga clic en servicios en el panel de control de Xampp (el nombre de archivo es services.msc, información adicional).

Primero, busque IIS, si se está ejecutando. Deténgalo (detenga esta opción de servicio a la izquierda después de hacer clic en el nombre del servicio). Entonces, este es el problema principal, busque el servicio de implementación web (no es el nombre exacto, aunque tiene una implementación web al principio). Detén este servicio también. Inténtalo de nuevo y Apache debería funcionar.

Si está ejecutando Skype, salga de eso también, ejecute Apache, luego inicie Skype

1
ytpillai

Para aquellos con ASP.NET, C # o usuarios de SQL Server, si está utilizando SQlServer OR Visual Studio, su puerto puede encontrarse. Lo más fácil que puede hacer es en Comando> servies.msc y luego busque el Servicio de informes del servidor SQl y luego deténgalo.

1
Sumanstm21

He tenido el mismo problema, cuando instalé MS WebMatrix, IIS El servidor estaba bloqueado en el puerto 80 en el que se estaba ejecutando XAMPP. Intenté encontrar el servicio de publicación World Wide Web y lo detuve, pero no pude encontrarlo en la lista. La mejor manera es cambiar un puerto.

Por favor refiérase con esto
enlace ref.

1
wobbuffet

XAMPP - Puerto 80 en uso por "No se puede abrir el proceso" con PID 4! 12

ejecuta el comentario en cmd tasklist

y encuentre cuál es el PID y el nombre del proceso relacionados con este administrador de tareas de la ventana ahora abierta

también puede abrir el administrador de tareas de la ventana usando CTRL + ALT + SUPR

ahora haga clic en la pestaña de proceso y encuentre el nombre que usa PID y haga clic derecho en eso y finalice el proceso

ahora vuelve a reiniciar el xampp

0

El servicio de agente de implementación web se implementa con WebMatrix y fue la causa de mis problemas. También se puede distribuir con otras aplicaciones instaladas usando el instalador de la plataforma web de Microsoft.

Desinstalarlo solucionó mis problemas!

0
brunodotcom

Tuve el mismo problema. Después de algún googlear llegó a esta página. Como supongo que este error puede tener varias razones, escuche mi experiencia:

Registro de la línea roja 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!
...

Finalmente, resultó que tenía esta línea de código en mis códigos php:

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

El propósito de este código fue obtener un reflejo del resultado de php desde algún lugar de mi servidor. ¡Pero solo está atrapado en un bucle que obtiene su propio contenido!

He reparado el código:

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

Luego reinicié Apache ... y ese error de Apache nunca volvió a ocurrir.

Entonces, a veces, buscar un posible puntos de detención en su código es un buen enfoque.

0
Hossein Khalesi

si el servicio es http.sys

Debe cambiar la dirección IP enlazada para http.sys

netsh http add iplisten ipaddress = ::

Trabajar bien sin reiniciar el sistema operativo.

0
mik3fly-4steri5k

Para mí, generalmente funciona: - Desactivar Skype - Desactivar todos los procesos de SQL Server que se muestran en services.msc - Desactivar la publicación en World Wide Web en services.msc

0
Iwona Kubowicz

Por lo general, funciona después de que usted detiene IIS Servidor y Skype

0
N A