for - XAMPP, Apache-Errore:Apache shutdown in modo imprevisto




mac apps (25)

Ho appena reinstallato XAMPP e quando provo ad avviare il mio server Apache nel pannello di controllo XAMPP, ora ho i seguenti errori:

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

Come lo risolvo?


Answers

Questo errore si verifica perché la porta, allocata per Apache, viene utilizzata da un altro programma. Per verificare l'applicazione che utilizza la porta, che abbiamo assegnato per Apache, è possibile fare clic su,

Pulsante Netstat .

Questo è il file Netstat,

Inizialmente, ho assegnato la porta 8080 per Apache e recentemente ho installato Oracle DB.TNSLSNR.exe ha utilizzato la porta 8080 ora.

Quindi, guardando questo file possiamo scegliere una porta che non è in conflitto con altre applicazioni. Nel mio caso, la porta 8060 non si scontra con alcuna applicazione. Selezionando che possiamo modificare il file httpd.conf (pannello di controllo XAMPP -> Config ) come menzionato sopra.


Nel mio caso, questo problema è stato causato da un tentativo di scaricare altri prodotti di Bitnami, come WordPress . Questo è comune quando installiamo WordPress tramite XAMPP. Si trova nella directory xampp/app cui è possibile accedere dalla homepage dell'applicazione XAMPP.

Come soluzione, ho rimosso il WordPress installato di default dalla directory xampp e ho installato WordPress manualmente nella cartella htdocs di WordPress scaricandolo ed estraendo i file zip nella cartella htdoc . È inoltre necessario riavviare XAMPP o il sistema dopo aver disinstallato / rimosso il WordPress predefinito . Tutto va bene per me ora.


Il mio problema era che in httpd.conf le voci DocumentRoot e <Directory> puntavano a cartelle non esistenti.

Ad esempio, httpd.conf "originale" aveva le seguenti voci:

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

Se hai installato C: \ xampp, allora devi modificare quelle voci per farle corrispondere, ad es

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

Se stai usando Windows 7. Cerca IIS nella ricerca di Windows (fai clic sull'icona Finestra in basso a sinistra e digita dove dice "Cerca programmi e file").

Apri IIS (Internet Information Service) .

Nella parte destra nel pannello delle azioni. Fai clic su Stop.

Nota: il collegamento di stop è sbiadito nella schermata. Come l'ho fermato. Problema risolto!


La migliore soluzione per l'utente di Windows è:

  1. Apri netstat (dal pannello di controllo XAMPP)
  2. Trova PID del processo che utilizza la porta 80.
  3. Apri CMD con Amministrativo.
  4. Esegui taskkill /pid PID (invece il PID usa pid u trovato da netstat)
    Heyy ti diverti ...

Sembra che nessuno abbia risposto sull'esecuzione di xampp_start.exe.

Ho fatto tutte le risposte precedenti ma non ha risolto il problema. Ho scoperto che l'esecuzione di xampp_start.exe ti fornirà informazioni dettagliate sul problema.

Questo è ciò che vedo dalla mia parte:

Come puoi vedere, ho riscontrato un problema con il percorso o xampp sta puntando alla cartella non esistente.


Ho avuto esattamente lo stesso messaggio di errore dell'OP, ma il mio problema non è stato risolto da nessuna delle risposte esistenti. Molte delle risposte trattano i conflitti sulla porta 80, che sapevo di non avere, dal momento che avevo avuto localhost che rispondevano alla porta 80 di recente.

Si è scoperto che avevo inavvertitamente cambiato ServerRoot quando intendevo modificare DocumentRoot (stupido, lo so), e sebbene esistesse la nuova directory ServerRoot , non conteneva i file di configurazione e altri elementi necessari di Apache, il che ha causato un errore all'avvio. Il messaggio di errore probabilmente affronta questo scenario con la dicitura " dipendenze mancanti ".

Sul mio sistema Windows, l'impostazione di ServerRoot su C: / XAMPP / apache ha risolto il problema.


Prima di tutto dovresti verificare di non avere host virtuali in eccesso nel tuo file httpd-vhosts. Intendo seguire una semplice regola: 1 progetto = 1 host virtuale nel file di configurazione. Altrimenti dovrai affrontare l'errore anche se cambierai porte, ecc.


Apri Skype.

Strumenti -> Opzioni -> Avanzate -> Connessione.

Disabilitare " Usa la porta 80 e 443 per le alternative per le connessioni in entrata "

Esci e chiudi tutte le finestre di Skype. Prova a riavviare Apache.


  1. Fai in primo luogo che la tua cartella \xampp sia nella root! Questo è importante in quanto il percorso è relativo.

  2. Quindi assicurati di eseguire xampp_control.exe con diritti di amministratore.

  3. Quindi modificare i file di seguito per evitare problemi con la porta 80 bloccata.

In \xampp\xampp-control.ini dovrebbe essere impostato:

[ServicePorts]
Apache=8080
ApacheSSL=4433

Trova \xampp\apache\conf\httpd.conf e imposta:

Listen 8080

ServerName localhost:8080

Trova \xampp\apache\conf\extra\httpd-ssl.conf e imposta:

Listen 4433

<VirtualHost _default_:4433>

ServerName www.example.com:4433

Quindi terminare tutti i servizi e riavviare xampp-control.exe con diritti di amministratore. Dovrebbe funzionare!


Ho avuto lo stesso problema qualche volta indietro. Avevo un vecchio laptop, sul quale quasi tutte le porte erano bloccate o malfunzionanti. Questo è come l'ho fatto.

  1. Apri il pannello di controllo XAMPP.

  2. Clicca su Config

  3. Quindi, vai nel file httpd.conf di Apache . Aprilo con un editor di testo.

  4. Cerca "80" (fai Ctrl + F e trova tutti, sostituiscilo con 8080 o 4040 o 4000 ).

  5. Salva il file. E riavvia XAMPP.

Ha funzionato bene per me, e spero che aiuti anche te.


Nel pannello di controllo XAMPP V3.2.1, fare clic sul pulsante "NetStat" in alto a destra. Assicurati che la porta 80 non sia utilizzata da nessun altro programma. Quindi fare clic su "Shell" proprio sotto di esso. Emetti questo comando "Digita ap poi TAB due volte"

Apache_Start.bat

Vedrai effettivamente l'errore esatto per cui Apache ha fallito. Sarà per lo più probabile problema di configurazione dell'host virtuale o potrebbe essere qualcos'altro. Mostrerà il numero di riga su cui si sta verificando l'errore. Basta correggere quell'errore. Notare che in RootDocument anche un trailing \ può essere una fonte di errore. Rimuovi qualsiasi "/" finale.

Per maggiori dettagli, controlla qui


La cosa semplice che puoi fare è controllare se Skype o VMware sono installati sul tuo computer o meno.

Skype utilizza la porta 80 e 443 come porta aggiuntiva per le connessioni in entrata. Per cambiare il numero di porta in Skype, vai a

Strumenti> Opzioni di connessione> Connessione

nella finestra di Skype. Ora cambia il numero di porta 80 predefinito in qualcosa di diverso.

VMware Workstation utilizza la porta 443 per la condivisione. Per cambiare questo, aprire VMware Workstation e goto

Modifica> Preferenze> Vmi condivisi

  1. Fai clic su "Cambia impostazioni" dopo
  2. Quindi fare clic su "Disabilita condivisione"
  3. Quindi cambia il numero della porta https in uso (443)
  4. Quindi puoi fare clic sul pulsante "Abilita condivisione"

Questo è tutto quello che devi fare. Riavvia XAMPP ed esegui il server Apache.


Soluzione migliore

aprire il pannello di controllo XAMPP, fare clic su config per Apache, quindi fare clic su Apache (httpd.config) .now nell'editor di testo. ctrl + f -> cerca "Ascolta 80" e sostituiscilo con "Ascolta 8079" senza le citazioni :) ma ora devi usarlo come questo http://localhost:8079/

PS, ho provato a cambiare le impostazioni della porta per skype, fermando il servizio di agente di distribuzione Web che non riuscivo a trovare in Windows 10, cmd -> net stop http, e altri metodi ma niente ha funzionato tranne questo.


Il server Apache per impostazione predefinita gira sulle porte 80, 443. Il tuo problema è una o entrambe le porte sono occupate. Solitamente Skype o VMware Workstation utilizzano queste due porte. Quindi, assicurati che non siano in esecuzione. Il modo migliore per assicurarsi che le porte siano libere su Windows è:

  • Fai clic sul pulsante Windows.

  • Nella barra di ricerca digitare resmon , per aprire la risorsa monitor resmon.exe .

  • Apri le porte d'ascolto , questo ti mostrerà le porte usate aperte.

  • Ora puoi vedere quale processo sta usando le porte 80 e 443.

  • Quindi è possibile interrompere il processo da CMD utilizzando il PID (che viene visualizzato nel monitor risorse) o direttamente da Task Manager.

  • Per uccidere un processo da CMD utilizzando il tipo PID Taskkill /PID 26356 /F , dove 26356 è il PID.


Ho avuto lo stesso problema, e si scopre che ho dimenticato di eseguire setup_xampp.bat (versione portatile).


Una delle cause potrebbe essere che non si sta eseguendo il pannello di controllo XAMPP come amministratore.


L'installazione dell'ultimo 5.6.12 da 5.6.8 su Windows 8.1 ha funzionato per me.


Quando ho scoperto che non c'era nessun processo usando la porta 80 usando i comandi

netstat -abno | find ":80"

non c'era alcun problema con nessun processo usando la porta 80.

Poi ho eseguito il comando (in cmd)

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

ha mostrato qualche errore nella configurazione degli host virtuali nel file httpd-vhosts.conf che è stato recentemente modificato da me per l'installazione in un ambiente PHP WordPress nell'IDE di Eclipse . Così ho cancellato quelle linee e Apache ha iniziato perfettamente.


Ho risolto il problema con l'interruzione del servizio "Web Deployment Agent Service". Apri: Sistema -> Gestione computer -> Servizi -> Servizio agente di distribuzione Web . Fermare questo servizio e avviare XAMPP funziona. Penso che questo sia un servizio di MS Webmatrix.

(Tedesco: Systemsteuerung -> System und Sicherheit -> Verwaltung -> Dienste -> Webbereitstellungs-Agent-Dienst )


Questo è accaduto a causa della porta predefinita 80 bloccata per Apache. È necessario modificare la porta o rendere accessibile la porta.

Vai al tuo file di configurazione Apache (httpd.conf) nell'installazione di Apache.

Trova queste linee:

#

Ascolta 192.168.1.2:80

Ascolta 80

#

Qui 192.168.1.2 è il mio indirizzo IP privato. Cambialo secondo il tuo.

Cambia come sotto

Ascolta 192.168.1.2:8081

Ascolta 8081

Ora quando si accede a localhost è necessario aggiungere esplicitamente la porta come http://localhost:8081/ ...


Per me, questo problema è iniziato quando ho ospitato una connessione VPN sul mio computer Windows 8.

La semplice eliminazione della connessione da "Pannello di controllo \ Rete e Internet \ Connessioni di rete" ha risolto il problema.


Una cosa che puoi fare è interrompere i servizi sulla porta 80 emettendo

net stop http

in un cmd. Ti verrà chiesto se sei sicuro di voler interrompere questi servizi. Ho scoperto che avevo alcuni servizi che non stavo usando e li ho disabilitati.

Per vedere chi altro sta usando il tipo di porta 80 in un cmd

netstat -abno

Suppongo che tu voglia eseguire Apache sulla porta 80. Se questo è il caso e vuoi mantenere i servizi in conflitto, dovrai associarli a una nuova porta.

Se il problema non è una porta occupata, puoi anche provare quanto segue: seleziona "mostra informazioni di debug" nel pannello di configurazione di XAMPP. Quando avvii Apache ti verrà mostrato qualcosa come "Esecuzione" c: \ xampp \ apache \ bin \ httpd.exe ". Se lo esegui

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

in un cmd otterrai maggiori informazioni (una volta, ad esempio, ho avuto qualche problema con il mio file httpd.conf).

Correlati: Come liberare la mia porta 80 su localhost Windows? e Apache non verrà eseguito in xampp



Nell'unità disco: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf esiste un esempio e puoi modificarlo con la configurazione:

    ##<VirtualHost *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"
    ##ServerName dummy-host.example.com
    ##ServerAlias www.dummy-host.example.com
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
    ##</VirtualHost>

quindi come detto sopra devi aggiungere: System32 / Drivers / etc / hosts alla fine del file

127.0.0.1    www.dummy-host.example.com

e

127.0.0.1    dummy-host.example.com

avere la possibilità di eseguire il tuo codice con WWW o senza WWW, riavviare Apache e provare nel browser:

www.dummy-host.example.com

o

dummy-host.example.com

forse alla prima volta devi aggiungere in questo modo:

http://dummy-host.example.com




apache xampp