XAMPP: impossibile avviare Apache (Windows 10)


89

Sto usando XAMPP e posso avviare Apache, ma MySQL ( phpMyAdmin ) inizia!

Quando inizio, ottengo questo errore;

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

Cerco su di esso e cambio la porta di Apache in Config -> Service and Port setting. Io ho;

Service name: Apache 2.4
Main port: 122
SSL port: 444

Inoltre disinstallo Skype (Windows 8/10 / versione Metro). Niente funziona. Nel file httpd.conf ho;

Listen 122
ServerName localhost:122

Lo avvio tramite apache_start.bate ottengo;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Tieni presente che tutti i file di registro non esistono! Skype è disinstallato.


Hai controllato se la porta è bloccata?
Rizier123

1
Prova a correre anche come amministratore
nonamorando

3
Stai eseguendo skype quando cerchi di abilitare Apache? In tal caso, modificare le impostazioni di Skype.
iSaumya

3
Non puoi avere localhost:80e ascoltare il port 122. Scegli quale porta ascoltare.
Lorenz Meyer

Ok, ho apportato delle modifiche: @ Rizier123 -> Controllo ma non sono sicuro che sia la soluzione giusta. @ Will-Campbell -> Sì, ma niente di più. @iSaumya -> Skype non è sul mio computer. @ Lorenz-Meyer -> Ho adesso Listen 122eServerName localhost:122
Félix Desjardins

Risposte:


223

Aggiornamento: 15 maggio 2018:

L'ultimo aggiornamento di Windows 10 ha (ri) attivato il servizio di pubblicazione sul Web (in tedesco: WWW-Publishingdienst ). Ciò potrebbe dipendere dalle opzioni selezionate durante la configurazione dell'aggiornamento che è possibile effettuare successivamente.

Aggiornamento: 4 agosto 2015:

Se hai eseguito un'installazione pulita di Windows 10, potresti non disporre del servizio di pubblicazione sul Web di Word . In tal caso, la semplice installazione di WAMP / XAMPP dovrebbe funzionare correttamente.

In caso contrario, prova a installare Visual C ++ Redistributable e quindi reinstalla WAMP / XAMPP.


Stavo affrontando un problema simile con WAMP. In Windows 10 TP, il servizio di pubblicazione sul Web in tutto il mondo è preinstallato. Questo è correlato a IIS e puoi rimuoverlo se non ne hai bisogno.

Questo blocca il port 80, facendo agire in modo strano Apache. Puoi fare quanto segue e riprovare.

  • Vai su Start, digita services.msc
  • Scorri verso il basso nella finestra Servizi per trovare il servizio di pubblicazione sul Web .
  • Fare clic con il tasto destro su di esso e selezionare Stop .

Questo dovrebbe rendere la porta 80 libera e il riavvio di WAMP / XAMPP dovrebbe farti funzionare!

Ci sono altri modi per risolvere questo problema. Vedi Far funzionare WAMP su Windows 10 .


7
Cosa succede se non ho "Servizio di pubblicazione sul World Wide Web" come servizio elencato?
Xtremefaith

6
Il nome del servizio è W3SVC mentre la descrizione è World Wide Web Publishing Service . Inizialmente non pensavo di avere il servizio perché non vedevo il servizio descritto durante l'ordinamento per nome.
Jake Z

1
Sì, ho avuto anche questo problema, continuava a dirmi "Un processo con un PID di 4 sta usando la porta 80" quando l'ho controllato, il nome del processo era "Sistema". Continuavo a pensare che avrei potuto rovinare il mio PC se avessi provato a interrompere questo processo. Ma questo ha funzionato perfettamente. Grazie
Programmatore Kebab

1
Per coloro che usano l'uniforme server Z (che è fantastico!), Posso confermare che funziona anche per quel server.
MisterM

1
@PraveenPuglia hum .. commento interessante, lavora anche a me! provo a rimuovere il file "ntoskrnl.exe" è una causa porta 4 ... molta ricerca su google dice virus ... bei servizi per fermare è lavoro lol .. grazie fratello
KingRider

36

Risolvere questo problema è facile:

  1. Apri un prompt dei comandi con privilegi di amministratore
    • Trova "cmd", fai clic destro su di esso, quindi seleziona "Amministratore".
  2. Nel prompt, digita net stop W3SVCe Invio.

Ora puoi fare clic in WAMPP e riavviare tutti i servizi. Apri il browser e vai a "localhost".

Se devi riavviare W3SVC,

  1. Apri un prompt dei comandi con privilegi di amministratore
  2. Nel prompt, digita net start W3SVCe Invio.

Nella versione rilasciata di Windows 10, viene visualizzato il messaggio "Si è verificato un errore di sistema 3. Accesso negato".
Mike_Laird

Devi essere amministratore. Riprova.
DIANGELISJ

Sì, grazie DIANGELISJ. In Windows 10, un clic destro su cmd e quindi le istruzioni sopra, quindi un clic destro su httpd.exe e Apache funziona di nuovo. La casella httpd.exe è vuota nera, ma Apache funziona.
Mike_Laird

Ho avuto lo stesso problema su Windows 10 usando XAMPP. Dopo ogni riavvio dovrei andare al pannello di controllo XAMPP e reinstallare e riavviare i servizi Apache e MySQL. L'esecuzione del pannello di controllo XAMPP come amministratore sembra averlo risolto, grazie!
SharpC

questa è la risposta corretta, tutto ciò che devi fare è chiudere IIS e quindi avviare xampp. Pannello di controllo - Amministratore - Internet Information Services - "Stop" Questo è tutto. Facile come una torta. (Stessa cosa come sopra, solo tramite interfacce.)
Elaine Ossipov

17

Ho trovato un modo per risolvere questo problema:

  1. Se stai utilizzando anche Skype, deseleziona il campo che indica di utilizzare le porte 80 e 443 (Extra -> Impostazioni -> Avanzate -> Connessioni -> Deseleziona le porte 80 e 443)
  2. Riavvia Skype e XAMPP.

Se questo non funziona,

  1. Vai su Start e digita "services.msc"
  2. Individua "Servizio di pubblicazione sul Web"
  3. Fare clic con il tasto destro su quella voce, selezionare "Stop", quindi riavviare XAMPP.

Se non ha funzionato e il "Servizio di pubblicazione sul Web" non era disponibile,

  1. Vai al Pannello di controllo, seleziona "Disinstalla programmi", quindi "Attiva / disattiva le funzionalità di Windows"
  2. Individua "Internet Information Services"
  3. Fare clic sulla casella di controllo e premere "OK".
  4. Riavvia, quindi ripeti il ​​secondo approccio (services.msc)

Grazie, ma la risposta ha già una risposta. Forse potrebbe aiutare qualcuno ese (:
Félix Desjardins

La tua risposta non ha potuto aiutarmi, ho trovato la mia soluzione. Grazie comunque :)
Fazal

1
Brillante! Era solo Skype che bloccava Apache! La mia parte preferita del processo: dopo aver disattivato le porte 80 e 443 di Skype, ho dovuto uscire da Skype. È apparso un avviso che diceva (parafrasato) "Se esci da Skype non sarai in grado di usarlo". Bene, duh!
CJ Dennis

14

Puoi cambiare il port di Apache:

  1. Vai a C: \ xampp \ apache \ conf \ httpd.
  2. Trova per combinazione Ctrl + F linea #Listen 12.34.56.78:80 e cambia l'80 in quello che preferisci, ad esempio 81
  3. Lo stesso con Listen 80 cambia in 81
  4. Lo stesso con ServerName localhost: 80 cambia in 81.
  5. Vai a C: \ xampp \ apache \ conf \ extra \ httpd-vhosts e cambia da 80 a 81

NameVirtualHost *: 80 qui

VirtualHost *: 80 e qui (due volte)

  1. Riavvia Apache

Per accedere alla tua pagina web, digita: http: // localhost: 81 / index.html


Raccomando questo
Shuhratjan Nizamov

5
  1. Premi Windows+ Re digita regedit.

  2. Vai a

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    Modificare il valore di Startin 4, che significa disabilitato.

  3. Riavvia il computer.


1
L'aggiornamento di novembre di Windows 10 ha causato il mio problema: tutto aveva funzionato prima sulla versione precedente di Win 10. Non avevo W3svc in esecuzione o Skype. Questa soluzione ha funzionato! Grazie @Do Nhu Vy!
Jim M

5

Ho risolto questo problema anche con il mio, ma ho dovuto cambiare un paio di cose. Ho bisogno che sul mio computer Windows 10 mantenga il mio ambiente di sviluppo C # e Visual Studio, quindi non volevo armeggiare con alcun servizio. Tutto quello che dovevo fare era scaricare l'ultima versione di XAMPP e cambiare le porte di ascolto per 80 e 443. Si trovavano in due file:

C:\xampp\apache\conf\httpd.conf

Listen 122
ServerName localhost:122

C:\xampp\apache\conf\extra\httpd-ssl.conf

Listen 444

La modifica di quanto sopra dalla porta 80 alla 122 e dalla 443 alla 444 mi ha permesso di far funzionare Apache e servire le pagine mantenendo tutto il resto lo stesso per il mio ASP.NET sviluppo . Spero che questo aiuti qualcuno là fuori. Alla fine questa è una soluzione molto semplice.

Indirizza il tuo browser a: http://localhost:122


Penso che questo sia il modo più semplice e più semplice. Grazie mille!
Diptangsu Goswami

+1 perché chiudere i servizi .NET non è assolutamente un'opzione per me. Ovviamente voglio eseguire IIS e Apache allo stesso tempo!
Alan

4

Ho lo stesso problema, ma le soluzioni precedenti ci portano a cambiare la porta invece di ottenere la soluzione esatta. Ho cercato le porte di semplici protocolli HTTP e HTTPS e ho trovato.

Se un'altra applicazione è già in esecuzione, le porte HTTP o HTTPS sulla macchina locale, avremo questo problema ovviamente solo a causa di quelle porte già in uso e in uno stato occupato .

Ecco perché dopo aver cambiato il numero di porta funzionava. Ma invece di cambiare la porta nel server XAMPP, ho usato i seguenti metodi e per me funziona.

Ecco il passaggio seguente che ho ottenuto durante questa correzione.

  1. Errore che ho ricevuto nell'applicazione XAMPP Server.

    Errore del server XAMPP

  2. Nell'angolo in alto c'è un pulsante chiamato Netstat . È molto utile per cercare le porte in esecuzione sul sistema.

    Pulsante Netstat

  3. Questa è l'applicazione Netstat in cui ho trovato un'applicazione già in esecuzione e che utilizza il numero di porta 443. Nel mio caso, era vmware-hostd.exe . La tua potrebbe essere un'applicazione diversa. Prova a cercare la porta 80 (HTTP) o la porta 443 (HTTPS).

    Applicazione Netstat aperta

  4. Ho appena aperto il Task Manager di Windows , selezionato tale applicazione vmware-hostd.exe e terminato il processo utilizzando il pulsante Termina processo . Ho terminato il processo che utilizzava la porta 443. E questa applicazione non era necessaria al momento.

    Apri task manager e chiudi quell'applicazione

  5. Dopo aver terminato l'applicazione nel Task Manager di Windows, Apache è ora disponibile al momento. Ecco la prova.

    Apache funzionante


NOTA: * Se hai trovato qualsiasi tipo di applicazione che viene utilizzata, le porte HTTP o HTTPS indicano la porta 80 o la porta 443 e l'applicazione non è importante o non è vitale, quindi interrompi solo il processo di tale applicazione.

In caso contrario, non è necessario seguire questi passaggi. Quindi devi considerare di cambiare la porta della tua applicazione XAMPP come indicato nelle risposte precedenti. *


4

Ho provato tutto ciò che è elencato nelle risposte qui, ma nessuno di loro ha funzionato.

Quindi tutto ciò che ho fatto è stato riavviare XAMPP con i diritti di amministratore:

Menu Start: fare clic con il tasto destro su XAMPP e selezionare Esegui come amministratore

Ha funzionato. È così semplice.

Ho disinstallato i servizi IIS, fermato i servizi WWW, cambiato le porte a 80, bloccato tutte le connessioni Apache e mysql dal firewall di Windows 10, ma sì, funziona ancora!


2

Dopo aver giocato, tutto quello che devi fare è cambiare due righe nel file httpd.conf :

Cambia "Ascolta 80" in "Ascolta 122" (o qualsiasi altra cosa tu voglia)

e

Da "ServerName Localhost: 80" a "Localhost: 122" (o la porta modificata sopra)

Quindi tutto dovrebbe accendersi: P


2

Sembra che ci siano molte opzioni. La risposta dipende dalla tua installazione di Windows. Ecco la mia esperienza quando si verifica lo stesso problema in una nuova installazione di Windows 10 e si risolve il problema con il passaggio seguente:

  1. Installa Visual C ++ Redistributable
  2. Apri XAMPP e seleziona configura nel servizio Apache
  3. Cambia la porta 80 in 9000 o 81 o quello che vuoi nel file httpd.conf sulla rigaListen 80
  4. Cambia la porta su httpd-ssl.conf e Listen 443passa aListen 441
  5. Riavvia XAMPP e avvia il servizio Apache. Per me funziona.

Nota : sto usando XAMPP versione 5.6.15 e XAMPP Control Panel versione 3.2.2.


2
Buona cattura: assicurati che le porte http e https non siano in conflitto
Aaron Hudon

1
  • Vai al menu Start e digita Attiva o disattiva le funzionalità di Windows
  • Deseleziona Internet Information Services
  • stampa OK

1

Nel mio caso è stato un semplice caso di rimozione di IIS perché Windows 10 viene fornito con IIS (Internet Information Service) preinstallato, che è in conflitto con XAMPP perché entrambi i server cercano di utilizzare la porta 80. Se non si desidera utilizzare IIS e continuare a utilizzare XAMPP

  1. Vai a eseguire / cerca in Windows 10
  2. Cerca "funzionalità opzionali"
  3. In quell'elenco deseleziona Internet Information Service (IIS)

Quindi riavvia .


1

Ho scoperto che l'esecuzione di apache_start in mi ha dato l'errore esatto e su quale riga si trovava.

Il mio errore è stato che ho lasciato uno spazio tra localhost: e la porta.


Cosa significa "eseguire apache_start in"? Ad esempio, manca una parola?
Peter Mortensen il

Copia-incolla funziona meglio della digitazione (a meno che, ovviamente, non venga utilizzato GNOME - evitare GNOME a tutti i costi).
Peter Mortensen il

1

Il servizio di pubblicazione sul World Wide Web non era l'unico responsabile nel mio caso.

Ho installato IIS, quindi ho dovuto interrompere l'intero servizio HTTP.

Questi sono i comandi che ho eseguito in CMD (come amministratore):

net stop W3SVC
net stop http

1

Se hai installato SQL Server , alcuni dei suoi servizi potrebbero bloccare la porta di cui XAMPP ha bisogno. Ho risolto il mio problema disabilitando SQL Server Reporting Services e ora Apache si avvia senza problemi.

Basta aprire services.msc, scorrere verso il basso e trovare SQL Server Reporting Services . Fare clic con il tasto destro su di esso e fare clic Stop.


0

In realtà, per impostazione predefinita è installato IIS (Microsoft, .NET, ecc.).

  • Vai al pannello di controllo
  • Attiva o disattiva le caratteristiche di Windows...
  • In (IIS) Internet Information Services, deseleziona i servizi Web (WWWS).
  • Fare clic su OK.

Questa potrebbe essere una soluzione permanente. :)


0

Questo consiglio è stato fantastico. Ho avuto lo stesso problema, ma la mia soluzione era diversa, perché ero così stupido, che ho rinominato la directory in cui si trovava XAMPP e poiché avevo installato molti altri programmi non sono riuscito a rinominarlo.

Nel mio caso c'era la directory originale C: \ Programmi \ Xampp e l'ho rinominata in C: \ PROGRAMS_ \ Xampp e questo è stato l'errore.

La soluzione era trovare tutti i riferimenti su C: \ Programmi e rinominarli C: \ PROGRAMS_ nella directory XAMPP, perché per qualche motivo durante l'installazione scrive percorsi assoluti, non relativi. Ovviamente ci sono anche alcuni riferimenti nel registro.


Questo sembra essere un caso molto specifico e non sembra corrispondere allo scenario della domanda.
dakab

Sì, sono d'accordo, ma penso che potrebbe aiutare qualcuno, perché stavo affrontando la stessa situazione (avevo vento fresco 10) e l'errore era lo stesso, quindi forse questo non è esattamente lo stesso scenario, penso che qualcuno potrebbe trovarlo utile .
Mayk

0

Si tratta semplicemente di rendere disponibile la porta 80 per il servizio Apache. Il modo in cui ho risolto il problema è stato:

  1. Su Windows 10, fai clic con il pulsante destro del mouse sul pulsante Start e seleziona Esegui
  2. Digita services.msc e fai clicOK
  3. Trova e fai clic con il pulsante destro del mouse su Servizio di pubblicazione sul Web
  4. Seleziona Proprietà
  5. Modificare il valore del tipo di avvio in Automatico (avvio ritardato)
  6. Riavvia il tuo computer.

Ecco qua. Tutto è tornato alla normalità.


0

È stato semplice per me!

Prova a eseguire il pannello di controllo XAMPP come amministratore.


0

Ho provato tutte le soluzioni di cui sopra. Ma non funzionava in alcun modo.

Infine, ho appena disinstallato XAMPP e l' ho installato di nuovo . Poi ha funzionato per me.

Ora sono in grado di eseguire il server su qualsiasi porta (inclusa la 80).


0

Passaggi:

  • Apri il pannello di controllo XAMMP
  • Apri Apache Config, quindi seleziona il file di configurazione Apache - xammp-
  • Cerca "Porta 443", quindi cambiala in un'altra porta, diciamo 4433
  • Quindi riavvia.

grazie, @Peter Mortensen per aver modificato la mia risposta :)
C Williams

0

Controlla se la tua installazione di PHP funziona.

Controlla quale file php.ini stai eseguendo nella configurazione di Apache e usalo per eseguire php.exe ...


0

Potresti aver aggiornato Windows alla versione 1903 (build del sistema operativo: 18362.239) o aver cambiato le password utente. Nonostante avessi eliminato tutti i conflitti di porta , continuavo a ricevere i messaggi descritti dall'OP all'inizio di questo post.

Alla fine l'ho curato aggiornando a XAMPP a 7.3.7. (Quando sei costretto a reinstallare, potresti anche eseguire l'aggiornamento allo stesso tempo!)

Ma il problema si è ripresentato quando sono andato di nuovo a cambiare la password dell'utente "root".

I messaggi di errore della console mascheravano il fatto che la tabella mysql.user era danneggiata.

Controlla il file mysql_error.log . Se viene visualizzato un errore irreversibile: Impossibile aprire e bloccare le tabelle dei privilegi: l'indice della tabella "utente" è danneggiato; prova a ripararlo , quindi dai un'occhiata a questo .


0

Ho avuto lo stesso problema e l'ho risolto disinstallando il server WAMP .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.