XAMPP, Apache - Error: Apache se apaga inesperadamente

345

Acabo de reinstalar XAMPP, y cuando intento iniciar mi servidor Apache en el Panel de control de XAMPP, ahora recibo los siguientes errores:

16:50:25  [Apache]     Status change detected: running
16:50:26  [Apache]     Status change detected: stopped
16:50:26  [Apache]     Error: Apache shutdown unexpectedly.
16:50:26  [Apache]     This may be due to a blocked port, missing dependencies,
16:50:26  [Apache]     improper privileges, a crash, or a shutdown by another method.
16:50:26  [Apache]     Press the Logs button to view error logs and check
16:50:26  [Apache]     the Windows Event Viewer for more clues
16:50:26  [Apache]     If you need more help, copy and post this
16:50:26  [Apache]     entire log window on the forums

¿Cómo puedo solucionar esto?

Tomás Skovgaard
fuente
Comencé a tener este problema después de instalar una nueva versión de XAMPP. Pensé que el problema era sobre los puertos, ya que casi todas las publicaciones hablan de ellos, pero no fue así. Cuando revisé el error.log, vi lo PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP buildque me llevó a esta respuesta . Instalar el redistribuible requerido resolvió el problema.
akinuri

Respuestas:

415

Skype abierto.

Herramientas -> Opciones -> Avanzado -> Conexión.

Desmarque la casilla de verificación " Usar los puertos 80 y 443 para alternativas para conexiones entrantes "

Cerrar sesión y cerrar todas las ventanas de Skype. Intenta reiniciar tu Apache.

Abuarif
fuente
77
si no funciona para nadie, intente verificar los registros de errores. o si está utilizando vmware, debe EDITAR> PREFERENCIAS> VMS COMPARTIDO> DESHABILITAR COMPARTIR y cambiar el puerto de 443 a cualquier otro puerto, por ejemplo, 8443 y guardar los cambios. reiniciar xampp o wamp
Faisal Naseer
55
Cambié skype, todavía notando. La solución terminó siendo ( stackoverflow.com/questions/14548768/… setup_xampp.bat para actualizar los caminos]
Timmah
21
Esta no es la solución correcta ya que el puerto puede estar bloqueado debido a cualquier aplicación, no solo Skype. La segunda respuesta más votada tiene una mejor solución.
Rahul Kadukar
3
Este es el problema más común que enfrentan las personas, aunque este no fue el problema en mi caso. Este problema también puede surgir si tiene entradas incorrectas en cualquiera de estos archivos httpd.conf y httpd-vhosts.conf. En mi caso, tuve un host virtual creado que apunta a la ubicación del archivo en mi disco duro externo y mientras estaba ejecutando xampp mi disco duro externo no estaba conectado. Entonces, comenté ese código de host virtual hasta el momento en que no estaba usando un disco duro externo y reinicié xampp para solucionar el problema.
Vineet Sajwan
2
No siempre es Skype. Mi problema fue con vmware que usaba el puerto 443. Si ese es el caso, no tiene que cambiar la configuración del puerto 80.
Moradnejad
760

Como estoy trabajando en un entorno corporativo donde los desarrolladores enfrentan problemas de firewall, ninguna de las otras respuestas resolvió mi problema.

Como Skype no usa el puerto, sino algunas otras aplicaciones internas, seguí los pasos a continuación para resolver el problema:

Paso 1 : desde el Panel de control de XAMPP, en Apache, haga clic en el botón Configuración y seleccione Apache (httpd.conf).

Dentro del archivo httpd.conf , de alguna manera encontré una línea que dice:

Listen 80

Y cambie el 80 a cualquier número / puerto que desee. En mi caso, estoy usando el puerto 8080.

Listen 8080

Todavía desde el archivo httpd.conf , encontré otra línea que dice:

ServerName localhost:80

Cambiar 80 a 8080.

ServerName localhost:8080

Paso 2 : desde el panel de control de XAMPP, en Apache, haga clic en el botón Configuración nuevamente, pero esta vez seleccione Apache ( httpd-ssl.conf ). Dentro del archivo httpd-ssl.conf , busque la línea que dice

Listen 443

Y cambie el 443 a cualquier número / puerto que desee. Voy a utilizar 4433 como el nuevo número de puerto.

Listen 4433

Aún desde el archivo httpd-ssl.conf , encuentre otra línea que diga

<VirtualHost _default_:443>

ServerName localhost:443

Y cambie 443 a 4433 .

<VirtualHost _default_:4433>

ServerName localhost:4433

Recuerde guardar los archivos httpd.conf y httpd-ssl.conf después de realizar algunos cambios. Luego reinicie el servicio Apache.

Min2
fuente
La respuesta proporcionada por @ Min2 funciona en todos los casos, pero a veces esto falla ya que debe verificar si hay un servicio llamado "Servicio Apache HTTP" ejecutándose en el Administrador de tareas. Finalice este servicio y realice las funciones definidas anteriormente, ahora encontrará que Apache funciona.
Aadil
44
Actualicé a Windows 10 y XAMPP no funcionaba. Seguí tu solución y funcionó bien.
fuddin
66
Esta es la solución para el error de Windows 10. Muchas gracias !
Javed Ali
3
Funciona para mi. Esta debería ser la solución aceptada; La solución de Skype es muy limitada.
ptrcao
1
He realizado los cambios para los puertos 80 y 443, pero aún muestra el error de que no hay Skype en mi sistema
Bhargav Venkatesh
96

Una cosa que puede hacer es detener los servicios en el puerto 80 emitiendo

net stop http

en un cmd. Se le preguntará si está seguro de que desea detener esos servicios. Descubrí que tenía algunos servicios que no estaba usando y los desactivé.

Para ver quién más está utilizando el puerto 80, escriba un cmd

netstat -abno

Supongo que desea ejecutar Apache en el puerto 80. Si este es el caso y desea mantener los servicios en conflicto, deberá asociarlos a un nuevo puerto.

Si el problema no es un puerto ocupado, también puede intentar lo siguiente: seleccione "mostrar información de depuración" en el panel de configuración de XAMPP. Al iniciar Apache, se le mostrará algo como "Ejecutar" c: \ xampp \ apache \ bin \ httpd.exe ". Si ejecuta eso

c:\xampp\apache\bin\httpd.exe

en un cmd obtendrás más información (una vez, por ejemplo, tuve algún problema con mi archivo httpd.conf).

Relacionado: ¿Cómo libero mi puerto 80 en Windows localhost? y Apache no se ejecutará en xampp

usuario2314737
fuente
12
+1 para httpd.exe. Si le faltan módulos, asegúrese de que su antivirus no los haya eliminado (especialmente si ejecuta Kasperky).
thomas88wp
1
Tuve el mismo problema y lo resolví asegurándome de que cada directorio especificado en /apache/conf/extras/httpd-bhosts.conf fueran rutas reales.
Mateo
8
gracias hombre corriendo c: \ xampp \ apache \ bin \ httpd.exe en cmd arrojó el error exacto y poder fijarlo
Khan Shahrukh
Este wordk en el servidor 2019. net stop http hace el truco: detiene todos los servicios que usan ese puerto. Este servicio me emocionó al inicio manual.
Henry
Si está utilizando Windows 7, preferiblemente vea la respuesta de Kunal que le dice cómo detener IIS. Acerca de este truco, net stop httpfuncionó, pero tuvo el efecto secundario de que las impresoras ya no aparecieran al intentar imprimir algo (y hasta reiniciar la computadora).
OuzoPower
79

En XAMPP Control Panel V3.2.1, haga clic en el botón "NetStat" en la parte superior derecha. Asegúrese de que el puerto 80 no sea utilizado por ningún otro programa. Luego haga clic en "Shell" justo debajo de él. Emita este comando "Escriba ap y luego TAB dos veces"

Apache_Start.bat

Verá el error exacto por el que Apache falló. La mayoría de las veces será un problema de configuración del host virtual o puede ser otra cosa. Mostrará el número de línea en el que se produce el error. Solo arregla ese error. Tenga en cuenta que en RootDocument un \ final puede ser también una fuente de error. Elimine cualquier "\" final.

Hammad Khan
fuente
77
Eso me ayudó mucho, me dijo que había un error tipográfico, después de pasar horas tratando de descubrir qué estaba mal. Muchas gracias @hmd
Sebastian Sulinski
Gracias, cambié el nombre de la carpeta xampp, y esto me ayudó a encontrar el error.
Peter Nguyen
10
¡Esta debería ser la respuesta principal, porque funciona para cualquier posible error con XAMPP!
usuario11153
Esto debería estar en la respuesta correcta también. Tuve un error tonto en vhost y eso estaba causando el error ... gracias
Mikel
¡Súper G ... sea la mejor respuesta, porque funciona para cualquier posible error con XAMPP!
OpenWebWar
37

Sigue estos pasos:

  1. Abra su panel de control XAMPP y luego haga clic en "Configuración"
  2. Elija el "Apache (httpd.conf)" y encuentre este código a continuación y cámbielo por este:

    # Cambie esto para escuchar en direcciones IP específicas como se muestra a continuación

    # para evitar que Apache se meta en todas las direcciones IP enlazadas.

    #Escucha 0.0.0.0:80

    # Escucha [::]: 80

    Listen 80

    # Soporte de objetos compartidos dinámicos (DSO)

    1. Guárdalo ( Ctrl+ S)
    2. Después de eso, regrese al panel de control de XAMPP y haga clic en su configuración nuevamente.
    3. Elija "Apache (httpd-ssl.conf)", busque este código a continuación y cámbielo nuevamente:

    # Nota: las configuraciones que usan IPv6 pero no direcciones asignadas a IPv4 necesitan dos

    # Escuchar directivas: "Escuchar [::]: 443" y "Escuchar 0.0.0.0:443"

    # #

    #Escucha 0.0.0.0:443

    # Escucha [::]: 443

    Listen 443

    1. Guárdalo ( Ctrl+ S)
    2. Luego, haga clic en "config" (nota: arriba del netstat) y haga clic en "configuración de servicio y puerto".
    3. Cambie "Puerto principal" a 8080 y "Puerto SSL" a 4433, luego guárdelo.
    4. Finalmente, vaya al "panel de control" -> "Programas y características" -> "Activar o desactivar Windows".
    5. Desmarque sus "Servicios de información de Internet" y luego haga clic en Aceptar.

Solo espere y su computadora / laptop se reiniciará automáticamente e intente abrir su panel de control XAMPP nuevamente, y luego inicie su Apache.

kimiberi
fuente
11
Cuidado. Si tiene VMWare Workstation instalada (10.0), la opción para compartir máquinas virtuales está escuchando el puerto 443. Esto impide que se inicie un servidor Apache (xampp). Consulte Edición> Preferencias> Compartir
máquinas virtuales
3
Escuchar 80 -> Escuchar 81 (cerca de la línea 58) ServerName localhost: 80 -> ServerName localhost: 81 (cerca de la línea 218)
Noah Martin
2
Trabajó para mi. Estaba tratando de cambiar el puerto de Apache usando la 'GUI de configuración' de XAMPP y no tuve suerte. Lo cambié manualmente y todo funcionó. Otra dura lección para la pereza.
Matt Carr
Finalmente la solución para mí. Ya cambié lo de Skype, pero no ayudó. ¡Gracias! (: El único problema fue el punto 3 y 4 en la última parte de su descripción.
codepleb
Trabajó para mí, estoy usando Windows7 sin VMware. + 1
usuario3437460
26

Mi problema fue que en httpd.conf las entradas DocumentRooty <Directory>apuntaban a carpetas no existentes.

Por ejemplo, el httpd.conf 'original' tenía las siguientes entradas:

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

Si ha instalado en C: \ xampp, entonces necesita cambiar esas entradas para que coincidan, es decir

DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">
CramerTV
fuente
Cambié el nombre de las carpetas y eso causó una carpeta raíz raíz no válida y no dejé que XAMPP se iniciara. cambiar los nombres de las carpetas a los correctos solucionó esto :)
VSB
2
+1, olvidé por completo que reestructuré mis carpetas =)
Morten Høgseth
Yo también - "... pero no cambié nada! ..." sí, excepto el nombre del directorio raíz - ¡Uy! ;)
CramerTV
2
nada más que una respuesta simple que le recuerda a uno la propia idiotez a veces ...: D eso lo hizo por mí, ¡gracias!
Charlie Carver
21

Si estás usando Windows 7. Busque IIS en la búsqueda de Windows (haga clic en el icono de la ventana en la parte inferior izquierda y escriba donde dice 'Buscar programas y archivos').

Abra IIS (Servicio de información de Internet) .

En el lado derecho en el panel de acciones. Haz clic en Detener.

Nota: El enlace de detención se desvaneció en la captura de pantalla. Como lo detuve. Captura de pantalla de IIS ¡Problema resuelto!

Kunal
fuente
2
En Windows 10 no pude encontrar IIS para ejecutar, luego desinstalé IIS desde el Control Panel > Programs > Programs and Features > Windows Componentscual finalmente lo resolvió.
escalera mecánica
@escalator bueno, he mencionado claramente que "si estás usando Windows 7".
Kunal
Gracias. Funcionó de maravilla y resolvió el problema para mí después de haber intentado sin éxito varios de los otros trucos mencionados. El net stop httpsímbolo del sistema elevado también funcionaba, pero tenía el efecto secundario de que las impresoras no estaban disponibles.
OuzoPower
17

Tuve el mismo problema, y ​​resultó que olvidé ejecutar setup_xampp.bat(versión portátil).

Pablo
fuente
2
Después de mover mi carpeta xampp a otra unidad que c: \ apache ya no se inicia. Esta solución funcionó para mí. ¡Muchas gracias! :)
Pascal Cloverfield
Creo que este paso es obligatorio, cuando descargamos el software Xampp como un archivo zip e intentamos iniciar el servidor Apache.
shasi kanth
Esta es la respuesta para la versión portátil (mi caso). Gracias por mencionarlo.
Sidney de Moraes
También resolvió mi problema. No estoy en una versión portátil. Descargué la configuración de xampp en Windows 10. Después de la instalación (era un exe, no un zip), tuve el problema descrito en la primera publicación. Después de buscar una solución a este problema, ejecuto setup_xampp.bat y ahora funciona.
quokka-web
Mi Windows se corrompió debido a que los nombres de las unidades cambiaron y las rutas absolutas de los archivos estaban en completo desastre. Ejecuté setup_xampp.bat y todo fue reconfigurado correctamente.
gegobyte
16

Esto funcionó para mí ...

Si estás usando Windows ...

Busque 'cmd' en la barra de búsqueda de Windows.

Ingrese esto:C:\xampp\apache\bin\httpd.exe

Encuentra qué archivo y qué línea se produjo el error.

Por ejemplo, el mío estaba en el archivo a continuación en la línea 37.

httpd-multilang-errordoc.conf

Abra el código y corrija el error eliminando la línea o arreglándola.

¡Hecho! Debería trabajar ahora.

:)

SreeniH
fuente
¡estupendo! esto realmente me ayudó, gracias
Capensis
Gracias. Funcionó. hubo un error de sintaxis en mi archivo de configuración de
vhost
12

Parece que nadie ha respondido sobre la ejecución de xampp_start.exe.

Hice todas las respuestas anteriores pero no solucionó mi problema. Descubrí que ejecutar xampp_start.exe le dará información detallada sobre el problema.

Esto es lo que veo de mi parte:

xampp_start

Como puede ver, estaba teniendo un problema de ruta o xampp apunta a una carpeta no existente.

Loreto Gabawa Jr.
fuente
Esto fue salvavidas. mi ruta de archivo ssl y de registros no era válida. Esto me ayudó a corregirlo y está funcionando ahora.
Ali Azhar
Buena respuesta. Me salvó el día
Raju
11

Cuando descubrí que no había proceso usando el puerto 80 usando comandos

netstat -abno | find ":80"

no hubo problema de ningún proceso usando el puerto 80.

Luego ejecuté el comando (en cmd)

C:\xampp\apache\bin\httpd.exe

mostró algún error en la configuración de los hosts virtuales en el httpd-vhosts.confarchivo que edité recientemente para instalarlo en un entorno PHP de WordPress en el IDE de Eclipse . Entonces borré esas líneas y Apache comenzó perfectamente.

JDP
fuente
2
¡Perfecto! Había especificado un directorio incorrecto para los archivos de registro y, por lo tanto, no estaba comenzando. Arreglando eso soluciona el problema!
Hammad Khan
¡¡¡¡TÚ MOLAS!!!! Todas las soluciones anteriores no funcionaron para mí, cuando intenté lo que hiciste, me dio un error diferente sobre la línea SSLRequiredSSL en httpd-xampp.conf, que luego inserté # delante para desactivarla. Por cierto, tuve que volver a clasificar C: \ xampp \ apache \ bin \ httpd.exe muchas veces en la línea de comando después de cada reparación para encontrarme otras líneas que tuvieran el mismo error.
Alaska
11

Lo simple que puede hacer es verificar si Skype o VMware está instalado en su máquina o no.

Skype utiliza los puertos 80 y 443 como puerto adicional para las conexiones entrantes. Para cambiar el número de puerto en Skype, vaya a

Herramientas> Opciones de conexión> Conexión

en la ventana de Skype. Ahora cambie el número de puerto 80 predeterminado a otro.

VMware Workstation utiliza el puerto 443 para compartir. Para cambiar esto, abra VMware Workstation y vaya a

Edición> Preferencias> Vms compartidos

  1. Haga clic en el botón "Cambiar configuración"
  2. Luego haga clic en "Desactivar Compartir"
  3. Luego cambie el número de puerto https que se está utilizando (443)
  4. Luego puede hacer clic en el botón "Habilitar Compartir"

Eso es todo lo que tienes que hacer. Reinicie XAMPP y ejecute el servidor Apache.

víbora
fuente
Después de hacer el cambio de Skype, Apache todavía no se iniciaba, así que hice el cambio de VmWare mencionado y funcionó.
Haris ur Rehman
9

Tuve el mismo problema alguna vez. Tenía una computadora portátil vieja, en la que casi todos los puertos estaban bloqueados o funcionaban mal. Así es como lo hice.

  1. Abra el panel de control de XAMPP.

  2. Haga clic en Configuración

  3. Luego, vaya al archivo Apache httpd.conf . Ábrelo con un editor de texto.

  4. Busque "80" (Do Ctrl+ Fy encuéntrelos a todos. Reemplácelo por 8080 o 4040 o 4000 ).

  5. Guarda el archivo. Y reinicie XAMPP.

Funcionó bien para mí, y espero que también te ayude.

Pragyaditya Das
fuente
6

Para mí, el servicio de publicación en Internet utilizaba el puerto 80. Eliminé esto ejecutando el siguiente comando en cmd:

net stop http

Después de eso, XAMPP ejecutó Apache sin ningún problema.

Memet Olsen
fuente
1
eso resolvió mi problema, pero ahora detuvimos algunos servicios, ¿cómo afectan esos servicios a mi red?
Karavana
Ejecuté el símbolo del sistema como administrador y esto funcionó. Pero mi pregunta es si los servicios detenidos no afectarán a la informática normal y, de nuevo, si los detendré, volverán a funcionar.
AMRESH PANDEY
@AMRESHPANDEY Encontré algo que podría ser útil en ese caso. Aunque no lo intenté si funciona. Siéntase libre de agregarlo como respuesta si funciona: mikeplate.com/2011/11/06/…
Memet Olsen
5

Este error ocurre porque el puerto, que está asignado para Apache, es utilizado por otro programa. Para verificar la aplicación que usa el puerto, que asignamos para Apache, se puede hacer clic en,

Botón Netstat .

Página de inicio de XAMPP

Este es el archivo Netstat,

Ingrese la descripción de la imagen aquí

Al principio, asigné el puerto 8080 para Apache, y recientemente instalé Oracle DB.TNSLSNR.exe ha usado el puerto 8080 ahora.

Entonces, al mirar este archivo podemos elegir un puerto que no entre en conflicto con otras aplicaciones. En mi caso, el puerto 8060 no está en conflicto con ninguna aplicación. Al seleccionar eso, podemos cambiar el archivo httpd.conf (panel de control XAMPP -> Configuración ) como se mencionó anteriormente.

SithuSena
fuente
5
  1. descargar nuevos apachefriends xampp
  2. instalarlo
  3. eliminar toda la aplicación VPN
  4. abra la carpeta XAMPP ejecute setup_xampp.bat
  5. ejecute xampp-control.exe
sirmagid
fuente
Me siguieron el punto 4, ejecuté setup_xampp.bat y comencé los servicios (punto 5), todo funciona bien.
Devang Solanki
4

En mi caso, este problema fue causado por un intento de descargar otro producto de bitnami, como WordPress . Eso es común cuando instalamos WordPress a través de XAMPP. Se coloca en el xampp/appdirectorio al que se puede acceder desde la página de inicio de la aplicación XAMPP.

Como solución, eliminé el WordPress instalado por defecto del xamppdirectorio y lo instalé manualmente en la htdocscarpeta de WordPress descargándolo y extrayendo archivos zip en la htdoccarpeta. También debe reiniciar XAMPP o el sistema puede después de desinstalar / eliminar el WordPress predeterminado . Todo está bien para mí ahora.

A.Aleem11
fuente
3
  1. ¡Primero asegúrese de que su \xamppcarpeta esté en la raíz! Esto es importante ya que el camino es relativo.

  2. Luego, asegúrese de ejecutar el xampp_control.exearchivo con derechos de administrador.

  3. Luego cambie los archivos a continuación para evitar problemas con el puerto 80 bloqueado.

En \xampp\xampp-control.iniella debe establecerse:

[ServicePorts]
Apache=8080
ApacheSSL=4433

Encuentra \xampp\apache\conf\httpd.confy configura:

Listen 8080

ServerName localhost:8080

Encuentra \xampp\apache\conf\extra\httpd-ssl.confy configura:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

Luego finalice todos los servicios y reinicie xampp-control.execon derechos de administrador. ¡Debería correr!

Kai Noack
fuente
3

Acabo de encontrar este error en mi xampp v3.2.2 [win 10 pro x64],

Primero intenté ejecutar el comando "net stop http" en un cmd admin, pero no resolvió el problema, así que seguí adelante para probar el comando "netstat -abno" y descubrí que el puerto SSL (443) estaba en uso por vmware.

así que mi consejo, no solo busque lo que está bloqueando el puerto 80, también busque programas potenciales usando el puerto 443. porque realmente no me gusta cambiar mis números de puerto predeterminados a 8081 y 4433.

Así es como puedes resolver este problema ...

primero escriba el siguiente comando

net stop http

luego intente iniciar apache, si aún no funciona. escriba el siguiente comando

netstat -abno

y definitivamente obtendrá esa aplicación problemática que está utilizando su valioso puerto.

copia el pid y luego usa el siguiente comando

taskkill /f /pid PID

donde PID es el pid que copiaste.

Esperemos que esto ayude a alguien.

Kingston Fortune
fuente
2

Esto sucedió debido a que el puerto predeterminado 80 está bloqueado para Apache. Debe cambiar el puerto o hacer que el puerto sea accesible.

Vaya a su archivo de configuración de Apache (httpd.conf) en la instalación de Apache.

Encuentra estas líneas:

# #

Escuchar 192.168.1.2:80

Escuchar 80

# #

Aquí 192.168.1.2 es mi dirección IP privada. Cámbialo según el tuyo.

Cambiar como a continuación

Escuchar 192.168.1.2:8081

Escucha 8081

Ahora, cuando accede a localhost, debe agregar el puerto explícitamente como http: // localhost: 8081 / ...

Priyankara
fuente
2

Una de las causas podría ser que no está ejecutando el Panel de control de XAMPP como administrador.

Saurabh RS
fuente
2

Resolví el problema con la detención del servicio "Servicio de agente de implementación web". Abierto: Sistema -> Administración de computadoras -> Servicios -> Servicio de agente de implementación web . Detenga este servicio e iniciar XAMPP funciona. Creo que este es un servicio de MS Webmatrix.

(Alemán: Systemsteuerung -> System und Sicherheit -> Verwaltung -> Dienste -> Webbereitstellungs-Agent-Dienst )

Harry
fuente
2

Tenía exactamente el mismo mensaje de error que el OP, pero mi problema no fue abordado por ninguna de las respuestas existentes. Muchas de las respuestas se refieren a conflictos en el puerto 80, que sabía que no tenía, ya que había tenido localhost respondiendo en el puerto 80 muy recientemente.

Resulta que había cambiado involuntariamente ServerRoot cuando tenía la intención de cambiar DocumentRoot (estúpido, lo sé), y aunque el nuevo directorio ServerRoot existía, no contenía los archivos de configuración y otras cosas que Apache necesitaba, lo que provocó que fallara en el inicio. El mensaje de error probablemente aborda este escenario con la frase " dependencias faltantes ".

En mi sistema Windows, configurar ServerRoot nuevamente en C: / XAMPP / apache resolvió el problema.

Gundark
fuente
2

El servidor Apache se ejecuta de manera predeterminada en los puertos 80, 443. Su problema es que uno o los dos puertos están ocupados. Por lo general, Skype o VMware Workstation usan estos dos puertos. Por lo tanto, asegúrese de que no estén funcionando. La mejor manera de asegurarse de que los puertos estén libres en Windows es:

  • Haga clic en el botón de Windows.

  • En la barra de búsqueda, escriba resmon , para abrir el monitor de recursos resmon.exe .

  • Abrir puertos de escucha , esto le mostrará los puertos usados ​​abiertos.

  • Ahora puede ver qué proceso está utilizando los puertos 80 y 443.

  • Luego puede eliminar el proceso desde CMD utilizando su PID (que se muestra en el monitor de recursos) o directamente desde el Administrador de tareas.

  • Para eliminar un proceso de CMD usando el tipo PID Taskkill /PID 26356 /F, donde 26356 es el PID.

Mohamed Seif
fuente
2

La mejor solución para el usuario de Windows es:

  1. Abra netstat (desde el PANEL DE CONTROL XAMPP)
  2. Encuentre el PID del proceso que usa el puerto 80.
  3. Abra CMD con administrativo.
  4. Ejecutar taskkill /pid PID(en lugar de usar PID, pid que encontraste de netstat)
    Hey, disfruta.
JavaHacker
fuente
2

Muy bien, no hay puerto 80, no hay culpa de Skype! Mi problema era bastante simple (y tonto), tenía una barra invertida adicional (\) (en Windows) después de la ruta que había especificado para la directiva DocumentRoot, así que hice un cambio como este y el problema desapareció como una sopa de pato .

Mi index.php estaba en la ruta "D: \ websites \ dummy" y mi httpd.conf era así:

<VirtualHost 127.0.0.2:80>
ServerName dummy.local
DocumentRoot "D:\websites\dummy\" #mistake here
</VirtualHost>
<Directory "D:\websites\dummy\"> #mistake here
    Require all granted
</Directory>

Así que solo cambia esas dos líneas así:

#first mistake fix:
DocumentRoot "D:\websites\dummy"
#second (similar) mistake fix:
<Directory "D:\websites\dummy">

... y todo está bien ahora. Para evitar tales errores en el futuro, siempre copie la ruta de cualquier carpeta a la que desee hacer referencia en lugar de escribirla usted mismo.

Simon.B
fuente
1

Para mí, este problema comenzó cuando alojé una conexión VPN en mi computadora con Windows 8.

Simplemente eliminar la conexión de "Panel de control \ Red e Internet \ Conexiones de red" resolvió el problema.

Zar
fuente
1

Tenga en cuenta que cada vez que cambie los puertos predeterminados, su navegador no lo sabrá. 80y 443parece ser estándar de alguna manera, así que, por ejemplo, si cambias 80a 8080, tendrás que acceder a tus sitios web de esta manera:

localhost:8080/path_to_your_website.php

phil294
fuente
1

Mejor solución

abra el panel de control de XAMPP, haga clic en config para Apache, luego haga clic en Apache (httpd.config). ahora en el editor de texto. ctrl + f -> encuentre "Listen 80" y reemplácelo con "Listen 8079" sin las citas :) pero ahora tiene que usarlo de esta manera http: // localhost: 8079 /

PD: intenté cambiar la configuración del puerto de Skype, deteniendo el servicio del Agente de implementación web que no pude encontrar en Windows 10, cmd -> net stop http y otros métodos, pero nada funcionó excepto esto.

osamakhair
fuente