XAMPP: impossible de démarrer Apache (Windows 10)


89

J'utilise XAMPP et je peux démarrer Apache, mais MySQL ( phpMyAdmin ) démarre!

Quand je commence, j'obtiens cette erreur;

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

Je recherche dessus, et change le port d'Apache dans Config -> Paramètres de service et de port. J'ai;

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

Je désinstalle également Skype (version Windows 8/10 / Metro). Rien ne fonctionne. Dans le httpd.conf fichier que j'ai;

Listen 122
ServerName localhost:122

Je le démarre via apache_start.bat et reçois;

(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

Veuillez noter que tous les fichiers journaux n'existent pas! Skype est désinstallé.


Avez-vous vérifié si le port est bloqué?
Rizier123

1
Essayez également de courir en tant qu'administrateur
nonamorando

3
Utilisez-vous Skype lorsque vous essayez d'activer Apache? Si tel est le cas, modifiez les paramètres de Skype.
iSaumya

3
Vous ne pouvez pas avoir localhost:80et écouter le port 122. Choisissez le port à écouter.
Lorenz Meyer

Ok, j'ai fait quelques modifications: @ Rizier123 -> Je vérifie mais je ne sais pas si c'est le bon moyen. @ Will-Campbell -> Oui, mais rien de plus. @iSaumya -> Skype n'est pas sur mon ordinateur. @ Lorenz-Meyer -> J'ai maintenant Listen 122etServerName localhost:122
Félix Desjardins

Réponses:


223

Mise à jour: 15 mai 2018:

La dernière mise à jour de Windows 10 (ré) a activé le service de publication du World Wide Web (en allemand: WWW-Publishingdienst ). Cela peut dépendre des options que vous sélectionnez lors de la configuration de la mise à jour que vous pouvez effectuer par la suite.

Mise à jour: 4 août 2015:

Si vous avez effectué une nouvelle installation de Windows 10, vous ne disposez peut-être pas du service de publication Word Wide Web . Dans ce cas, une simple installation WAMP / XAMPP devrait fonctionner correctement.

Si ce n'est pas le cas, essayez d'installer Visual C ++ Redistributable , puis réinstallez WAMP / XAMPP.


J'étais confronté à un problème similaire avec WAMP. Dans Windows 10 TP, le service de publication Word Wide Web est préinstallé. Ceci est lié à IIS et vous pouvez le supprimer si vous n'en avez pas besoin.

Cela bloque le port 80, ce qui fait qu'Apache agit bizarrement. Vous pouvez faire ce qui suit et réessayer.

  • Allez dans Démarrer, tapez services.msc
  • Faites défiler la fenêtre Services pour trouver le service de publication World Wide Web .
  • Faites un clic droit dessus et sélectionnez Arrêter .

Cela devrait libérer le port 80 et le redémarrage de WAMP / XAMPP devrait vous permettre de démarrer!

Il existe d'autres moyens de résoudre ce problème. Voir Faire fonctionner WAMP sous Windows 10 .


7
Que faire si je n'ai pas "Service de publication World Wide Web" comme service répertorié?
Xtremefaith

6
Le nom du service est W3SVC tandis que la description est World Wide Web Publishing Service . Au départ, je ne pensais pas avoir le service car je ne voyais pas le service décrit lors du tri par nom.
Jake Z

1
Oui, j'ai eu ce problème aussi, il n'arrêtait pas de me dire "Un processus avec un PID de 4 utilise le port 80" quand je l'ai vérifié, le nom du processus était "System". Je n'arrêtais pas de penser que je pourrais gâcher mon PC si j'essayais d'arrêter ce processus. Mais cela a parfaitement fonctionné. Merci
Kebab Programmer

1
Pour ceux qui utilisent le serveur Uniform Z (ce qui est génial!), Je peux confirmer que cela fonctionne également pour ce serveur.
MisterM

1
@PraveenPuglia hum .. commentaire intéressant, travaille pour moi! j'essaye de supprimer le fichier "ntoskrnl.exe" est un port de cause 4 ... beaucoup de recherche google disent virus ... de bons services pour arrêter est de travail lol .. merci mon frère
KingRider

36

Résoudre ce problème est simple:

  1. Ouvrez une invite de commande avec des privilèges d'administrateur
    • Trouvez "cmd", faites un clic droit dessus, puis sélectionnez "Administrateur".
  2. Dans l'invite, tapez net stop W3SVCet entrez.

Vous pouvez maintenant cliquer sur WAMPP et redémarrer tous les services. Ouvrez votre navigateur et accédez à "localhost".

Si vous devez redémarrer W3SVC,

  1. Ouvrez une invite de commande avec des privilèges d'administrateur
  2. Dans l'invite, tapez net start W3SVCet entrez.

Sur la version publiée de Windows 10, j'obtiens "Une erreur système 3 s'est produite. L'accès est refusé."
Mike_Laird

Vous devez être administrateur. Réessayer.
DIANGELISJ

Oui, merci DIANGELISJ. Sous Windows 10, faites un clic droit sur cmd et ensuite vos instructions ci-dessus, puis un clic droit sur httpd.exe et Apache fonctionne à nouveau. La boîte httpd.exe est un blanc noir, mais Apache fonctionne.
Mike_Laird

J'ai eu le même problème sous Windows 10 en utilisant XAMPP. Après chaque redémarrage, je devais accéder au panneau de configuration XAMPP et réinstaller et redémarrer les services Apache et MySQL. L'exécution du panneau de configuration XAMPP en tant qu'administrateur semble l'avoir guéri, merci!
SharpC

c'est la bonne réponse, tout ce que vous avez à faire est d'arrêter IIS, puis de démarrer xampp. Panneau de configuration - Admin - Internet Information Services - "Stop" C'est tout. C'est de la tarte. (même chose que ci-dessus, juste via les interfaces.)
Elaine Ossipov

17

J'ai trouvé un moyen de résoudre ce problème:

  1. Si vous utilisez également Skype, décochez le champ indiquant d'utiliser les ports 80 et 443 (Extra -> Paramètres -> Avancé -> Connexions -> Décochez les ports 80 et 443)
  2. Redémarrez Skype et XAMPP.

Si cela ne fonctionne pas,

  1. Allez dans Démarrer et tapez "services.msc"
  2. Localisez "Service de publication World Wide Web"
  3. Faites un clic droit sur cette entrée, sélectionnez "Arrêter", puis redémarrez XAMPP.

Si cela ne fonctionne pas et que "Service de publication World Wide Web" n'est pas disponible,

  1. Accédez au Panneau de configuration, accédez à «Désinstaller les programmes», puis «Activer / désactiver les fonctionnalités Windows»
  2. Localisez «Internet Information Services»
  3. Cliquez sur la case à cocher et cliquez sur "OK".
  4. Redémarrez, puis répétez la deuxième approche (services.msc)

Merci, mais la réponse est déjà répondue. Peut-être que cela pourrait aider quelqu'un d'autre (:
Félix Desjardins

Votre réponse n'a pas pu m'aider, j'ai trouvé ma propre solution. Merci quand même :)
Fazal

1
Brillant! C'était juste Skype bloquant Apache! Ma partie préférée du processus: après avoir désactivé les ports 80 et 443 de Skype, j'ai dû quitter Skype. Un avertissement est apparu disant (paraphrasé) "Si vous quittez Skype, vous ne pourrez plus l'utiliser." Eh bien, duh!
CJ Dennis

14

Vous pouvez changer le port d'Apache:

  1. Accédez à C: \ xampp \ apache \ conf \ httpd.
  2. Rechercher par combinaison Ctrl + F ligne #Listen 12.34.56.78:80 et changer le 80 en celui que vous voulez par exemple 81
  3. La même chose avec Listen 80 change à 81
  4. La même chose avec ServerName localhost: 80 passe à 81.
  5. Accédez à C: \ xampp \ apache \ conf \ extra \ httpd-vhosts et remplacez 80 par 81

NameVirtualHost *: 80 ici

VirtualHost *: 80 et ici (deux fois)

  1. Redémarrez Apache

Pour accéder à votre page Web, tapez: http: // localhost: 81 / index.html


Je recommanderai celui-ci
Shuhratjan Nizamov

5
  1. Appuyez sur Windows+ Ret tapez regedit.

  2. Aller à

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    Modifiez la valeur de Startà 4, ce qui signifie désactivé.

  3. Redémarrez votre ordinateur.


1
La "mise à niveau de novembre" de Windows 10 a causé mon problème - tout fonctionnait auparavant sur l'ancienne version de Win 10. Je n'avais pas W3svc en cours d'exécution ou Skype. Cette solution a fait l'affaire! Merci @Do Nhu Vy!
Jim M

5

J'ai également résolu ce problème avec le mien, mais j'ai dû changer quelques choses. Je demande que sur ma machine Windows 10, je garde mon environnement de développement C # et Visual Studio, donc je ne voulais pas bricoler avec aucun service. Tout ce que j'avais à faire était de télécharger la dernière version de XAMPP et de changer les ports d'écoute pour 80 et 443. Ils se trouvaient dans deux fichiers:

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

Listen 122
ServerName localhost:122

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

Listen 444

La modification de ce qui précède du port 80 à 122 et 443 à 444 m'a permis d'exécuter et de servir des pages Apache tout en conservant tout le reste de la même manière pour mon ASP.NET développement . Espérons que cela aide quelqu'un là-bas. En fin de compte, c'est une solution très simple.

Dirigez votre navigateur vers: http://localhost:122


Je pense que c'est le moyen le plus simple et le plus simple. Merci beaucoup!
Diptangsu Goswami

+1 parce que la fermeture des services .NET n'est certainement pas une option pour moi. Bien sûr, je veux exécuter IIS et Apache en même temps!
Alan

4

J'ai le même problème, mais les solutions précédentes nous amènent à changer le port au lieu d'obtenir la solution exacte. J'ai recherché les ports de protocoles HTTP et HTTPS simples et j'ai trouvé.

Si une autre application est déjà en cours d'exécution, les ports HTTP ou HTTPS sur la machine locale, nous aurons évidemment ce problème simplement à cause de ces ports déjà utilisés et dans un état occupé .

C'est pourquoi, après avoir changé le numéro de port, cela fonctionnait. Mais au lieu de changer le port du serveur XAMPP, j'ai utilisé les méthodes suivantes et cela fonctionne pour moi.

Voici l'étape suivante que j'ai pendant cette correction.

  1. Erreur que j'ai obtenue dans l'application serveur XAMPP.

    Erreur du serveur XAMPP

  2. Dans le coin supérieur, il y a un bouton nommé Netstat . C'est très utile pour rechercher les ports en cours d'exécution sur le système.

    Bouton Netstat

  3. C'est l'application Netstat où j'ai trouvé une application déjà en cours d'exécution et utilisant le numéro de port 443. Dans mon cas, c'était vmware-hostd.exe . Votre application pourrait être différente. Essayez de rechercher le port 80 (HTTP) ou le port 443 (HTTPS).

    Application Netstat ouverte

  4. Je viens d'ouvrir le Gestionnaire des tâches Windows , j'ai sélectionné cette application vmware-hostd.exe et j'ai tué le processus en utilisant le bouton Terminer le processus . J'ai tué ce processus qui était utilisé sur le port 443. Et cette application n'était pas nécessaire pour le moment.

    Ouvrir le gestionnaire de tâches et tuer cette application

  5. Après avoir tué l'application dans le Gestionnaire des tâches de Windows, Apache est maintenant disponible pour le moment. Voici la preuve.

    Apache fonctionne


REMARQUE: * Si vous avez trouvé un type d'application qui est utilisé, les ports HTTP ou HTTPS signifient le port 80 ou le port 443 et que l'application n'est pas importante ou pas vitale, alors ne tuez que le processus de cette application.

Sinon, il n'est pas nécessaire de suivre ces étapes. Ensuite, vous devez envisager de changer le port de votre application XAMPP comme indiqué dans les réponses précédentes. *


4

J'ai essayé tout ce qui est énuméré dans les réponses ici, mais aucune n'a fonctionné.

Ensuite, tout ce que j'ai fait a été de redémarrer XAMPP avec les droits d'administrateur en:

Menu Démarrer - clic droit sur XAMPP - sélectionnez Exécuter en tant qu'administrateur

Ça a marché. C'est aussi simple que cela.

J'ai désinstallé les services IIS, arrêté les services WWW, changé les ports à 80, bloqué toutes les connexions apache et mysql du pare-feu Windows 10, mais oui, cela fonctionne toujours!


2

Après avoir joué, tout ce que vous avez à faire est de changer deux lignes dans le fichier httpd.conf :

Remplacez «Listen 80» par «Listen 122» (ou tout ce que vous voulez)

et

"ServerName Localhost: 80" à "Localhost: 122" (ou le port que vous avez modifié ci-dessus)

Ensuite, tout devrait se déclencher: P


2

Il semble qu'il existe de nombreuses options. La réponse dépend de votre installation Windows. Voici mon expérience lorsque j'ai le même problème dans une nouvelle installation de Windows 10 et corrigez le problème avec l'étape suivante:

  1. Installez Visual C ++ Redistributable
  2. Ouvrez XAMPP et sélectionnez configurer dans le service Apache
  3. Changez le port 80 en 9000 ou 81 ou ce que vous voulez dans le fichier httpd.conf sur la ligneListen 80
  4. Changez le port sur httpd-ssl.conf et changez Listen 443enListen 441
  5. Redémarrez XAMPP et démarrez le service Apache. Ça marche pour moi.

Remarque : j'utilise XAMPP version 5.6.15 et XAMPP Control Panel version 3.2.2.


2
Bonne prise - assurez-vous que les ports http et https ne sont pas en conflit
Aaron Hudon

1
  • Accédez au menu Démarrer et tapez Activer ou désactiver les fonctionnalités Windows
  • Décochez Internet Information Services
  • presse OK

1

Dans mon cas, il s'agissait d'un cas simple de suppression d'IIS car Windows 10 est livré avec IIS (Internet Information Service) pré-installé - qui entre en conflit avec XAMPP car ces deux serveurs essaient d'utiliser le port 80. Si vous ne souhaitez pas utiliser IIS et continuer à utiliser XAMPP

  1. Aller à exécuter / rechercher dans Windows 10
  2. Rechercher des "fonctionnalités facultatives"
  3. Dans cette liste, décochez Internet Information Service (IIS)

Puis redémarrez .


1

J'ai trouvé qu'exécuter apache_start dans m'a donné l'erreur exacte et sur quelle ligne il se trouvait.

Mon erreur était que j'ai laissé un espace entre localhost: et le port.


Qu'est-ce que "exécuter apache_start dans"? Par exemple, un mot manque-t-il?
Peter Mortensen

Le copier-coller fonctionne mieux que la saisie (à moins que bien sûr GNOME ne soit utilisé - évitez GNOME à tout prix).
Peter Mortensen

1

Le service de publication World Wide Web n'était pas le seul responsable dans mon cas.

J'ai installé IIS, j'ai donc dû arrêter tout le service HTTP.

Voici les commandes que j'ai exécutées dans CMD (en tant qu'administrateur):

net stop W3SVC
net stop http

1

Si vous avez installé SQL Server , certains de ses services peuvent bloquer le port dont XAMPP a besoin. J'ai résolu mon problème en désactivant SQL Server Reporting Services et maintenant Apache démarre sans aucun problème.

Ouvrez simplement le services.msc, faites défiler vers le bas et recherchez SQL Server Reporting Services . Faites un clic droit dessus et cliquez Stop.


0

En fait, par défaut, IIS (Microsoft, .NET, etc.) est installé.

  • Aller au panneau de configuration
  • Activer ou désactiver des fonctionnalités Windows...
  • Sous Services Internet (IIS), décochez les services Web mondiaux (WWWS).
  • Cliquez sur OK.

Cela pourrait être une solution permanente. :)


0

Ce conseil était excellent. J'ai eu le même problème, mais ma solution était différente, parce que j'étais tellement stupide, que j'ai renommé le répertoire où se trouvait XAMPP et depuis que j'avais installé beaucoup d'autres programmes, je ne pouvais pas le renommer.

Dans mon cas, il y avait le répertoire d'origine C: \ Programs \ Xampp et l'a renommé C: \ PROGRAMS_ \ Xampp et c'était l'erreur.

La solution était de trouver toutes les références sur C: \ Programmes et de les renommer C: \ PROGRAMS_ dans le répertoire XAMPP, car pour une raison quelconque lors de l'installation, il écrit des chemins absolus, non relatifs. Bien entendu, il existe également des références dans le registre.


Cela semble être un cas très particulier et ne semble pas correspondre au scénario de la question.
dakab

Oui je suis d'accord, mais je pense que cela peut aider quelqu'un, car je faisais face à la même situation (avais un nouveau windodw 10) et l'erreur était la même, alors peut-être que ce n'est pas exactement le même scénario, car je pense que quelqu'un a trouvé cela utile .
Mayk

0

Il s'agit simplement de rendre le port 80 disponible pour votre service Apache. La façon dont j'ai résolu le problème était:

  1. Sous Windows 10, cliquez avec le bouton droit sur le bouton Démarrer et sélectionnez Exécuter
  2. Tapez services.msc et cliquez surOK
  3. Recherchez et cliquez avec le bouton droit sur le service de publication Web mondial
  4. Sélectionnez Propriétés
  5. Remplacez la valeur du type de démarrage par Automatique (démarrage différé)
  6. Redémarrez votre ordinateur.

Voilà. Tout est revenu à la normale.


0

C'était simple pour moi!

Essayez d'exécuter le panneau de configuration XAMPP en tant qu'administrateur.


0

J'ai essayé toutes les solutions ci-dessus. Mais cela ne fonctionnait en aucun cas.

Enfin, je viens de désinstaller XAMPP et de l' installer à nouveau . Ensuite, cela a fonctionné pour moi.

Maintenant, je suis capable d' exécuter le serveur sur n'importe quel port (y compris 80).


0

Pas:

  • Ouvrez le panneau de configuration XAMMP
  • Ouvrez Apache Config, puis sélectionnez le fichier de configuration Apache - xammp-
  • Recherchez "Port 443", puis remplacez-le par un autre port, disons 4433
  • Puis redémarrez.

merci, @Peter Mortensen d'avoir édité ma réponse :)
C Williams

0

Vérifiez si votre installation PHP fonctionne.

Vérifiez quel fichier php.ini vous exécutez dans la configuration d'Apache et utilisez-le pour exécuter php.exe ...


0

Vous venez peut-être de mettre à jour votre Windows vers la version 1903 (build du système d'exploitation: 18362.239) ou d' avoir changé les mots de passe des utilisateurs. Malgré avoir éliminé tous les conflits de port j'aie , j'ai continué à recevoir les messages décrits par l'OP au tout début de cet article.

En fin de compte, je l'ai guéri en passant à XAMPP à 7.3.7. (Lorsque vous êtes obligé de réinstaller, vous pouvez aussi bien mettre à niveau en même temps!)

Mais le problème s'est reproduit lorsque je suis de nouveau allé changer le mot de passe de l'utilisateur «root».

Les messages d'erreur de la console masquaient le fait que la table mysql.user était corrompue.

Vérifiez le fichier mysql_error.log . Si vous voyez Erreur fatale: Impossible d'ouvrir et de verrouiller les tables de privilèges: L'index de la table «utilisateur» est corrompu; essayez de le réparer , puis jetez un œil à ceci .


0

J'ai eu le même problème et je l'ai résolu en désinstallant le serveur WAMP .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.