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?
error.log
, vi loPHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build
que me llevó a esta respuesta . Instalar el redistribuible requerido resolvió el problema.Respuestas:
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.
fuente
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:
Y cambie el 80 a cualquier número / puerto que desee. En mi caso, estoy usando el puerto 8080.
Todavía desde el archivo httpd.conf , encontré otra línea que dice:
Cambiar 80 a 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
Y cambie el 443 a cualquier número / puerto que desee. Voy a utilizar 4433 como el nuevo número de puerto.
Aún desde el archivo httpd-ssl.conf , encuentre otra línea que diga
Y cambie 443 a 4433 .
Recuerde guardar los archivos httpd.conf y httpd-ssl.conf después de realizar algunos cambios. Luego reinicie el servicio Apache.
fuente
Una cosa que puede hacer es detener los servicios en el puerto 80 emitiendo
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
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
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
fuente
net stop http
funcionó, pero tuvo el efecto secundario de que las impresoras ya no aparecieran al intentar imprimir algo (y hasta reiniciar la computadora).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"
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.
fuente
Sigue estos pasos:
Elija el "Apache (httpd.conf)" y encuentre este código a continuación y cámbielo por este:
Listen 80
Listen 443
Solo espere y su computadora / laptop se reiniciará automáticamente e intente abrir su panel de control XAMPP nuevamente, y luego inicie su Apache.
fuente
Mi problema fue que en httpd.conf las entradas
DocumentRoot
y<Directory>
apuntaban a carpetas no existentes.Por ejemplo, el httpd.conf 'original' tenía las siguientes entradas:
Si ha instalado en C: \ xampp, entonces necesita cambiar esas entradas para que coincidan, es decir
fuente
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. ¡Problema resuelto!
fuente
Control Panel > Programs > Programs and Features > Windows Components
cual finalmente lo resolvió.net stop http
símbolo del sistema elevado también funcionaba, pero tenía el efecto secundario de que las impresoras no estaban disponibles.Tuve el mismo problema, y resultó que olvidé ejecutar
setup_xampp.bat
(versión portátil).fuente
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.
Abra el código y corrija el error eliminando la línea o arreglándola.
¡Hecho! Debería trabajar ahora.
:)
fuente
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:
Como puede ver, estaba teniendo un problema de ruta o xampp apunta a una carpeta no existente.
fuente
Cuando descubrí que no había proceso usando el puerto 80 usando comandos
no hubo problema de ningún proceso usando el puerto 80.
Luego ejecuté el comando (en cmd)
mostró algún error en la configuración de los hosts virtuales en el
httpd-vhosts.conf
archivo 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.fuente
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
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
Eso es todo lo que tienes que hacer. Reinicie XAMPP y ejecute el servidor Apache.
fuente
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.
Abra el panel de control de XAMPP.
Haga clic en Configuración
Luego, vaya al archivo Apache httpd.conf . Ábrelo con un editor de texto.
Busque "80" (Do Ctrl+ Fy encuéntrelos a todos. Reemplácelo por 8080 o 4040 o 4000 ).
Guarda el archivo. Y reinicie XAMPP.
Funcionó bien para mí, y espero que también te ayude.
fuente
Para mí, el servicio de publicación en Internet utilizaba el puerto 80. Eliminé esto ejecutando el siguiente comando en cmd:
Después de eso, XAMPP ejecutó Apache sin ningún problema.
fuente
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 .
Este es el archivo Netstat,
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.
fuente
fuente
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/app
directorio 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
xampp
directorio y lo instalé manualmente en lahtdocs
carpeta de WordPress descargándolo y extrayendo archivos zip en lahtdoc
carpeta. También debe reiniciar XAMPP o el sistema puede después de desinstalar / eliminar el WordPress predeterminado . Todo está bien para mí ahora.fuente
¡Primero asegúrese de que su
\xampp
carpeta esté en la raíz! Esto es importante ya que el camino es relativo.Luego, asegúrese de ejecutar el
xampp_control.exe
archivo con derechos de administrador.Luego cambie los archivos a continuación para evitar problemas con el puerto 80 bloqueado.
En
\xampp\xampp-control.ini
ella debe establecerse:Encuentra
\xampp\apache\conf\httpd.conf
y configura:Encuentra
\xampp\apache\conf\extra\httpd-ssl.conf
y configura:Luego finalice todos los servicios y reinicie
xampp-control.exe
con derechos de administrador. ¡Debería correr!fuente
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.
fuente
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
# #
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 / ...
fuente
Una de las causas podría ser que no está ejecutando el Panel de control de XAMPP como administrador.
fuente
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 )
fuente
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.
fuente
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:
fuente
La mejor solución para el usuario de Windows es:
taskkill /pid PID
(en lugar de usar PID, pid que encontraste de netstat)Hey, disfruta.
fuente
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í:
Así que solo cambia esas dos líneas así:
... 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.
fuente
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.
fuente
Tenga en cuenta que cada vez que cambie los puertos predeterminados, su navegador no lo sabrá.
80
y443
parece ser estándar de alguna manera, así que, por ejemplo, si cambias80
a8080
, tendrás que acceder a tus sitios web de esta manera:localhost:8080/path_to_your_website.php
fuente
En mi caso, esto sucedió después de instalar el servidor SQL y la solución fue como se describe en esta respuesta
Xampp: no se puede iniciar Apache después de instalar SQL Server y Visual Studio
así que tuve que deshabilitar el servicio "SQL Server Reporting Services" de los servicios de Windows
fuente
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.
fuente