web-dev-qa-db-fra.com

apache dans xampp ne s'allume pas - après avoir fonctionné auparavant

J'ai récemment installé Xampp sur ma machine Windows. Cela a fonctionné quand je viens de le faire, voir ici . Cependant, maintenant, Apache ne s'allume pas. Je réalise que je ne l'ai pas fermé correctement (je n'ai pas utilisé xampp_stop), alors peut-être que cela pourrait en être la cause.

L'erreur que je reçois est la suivante:

    make_sock: could not bind to address 0.0.0.0:80 
    no listening sockets available, shutting down 
    unable to open logs 

Comment puis-je le faire fonctionner?

9
Lucy Weatherford

J'ai fini par le résoudre. Accédez au panneau de configuration de Xampp. Cochez la case "Service" . Cliquez sur le bouton "SCM". (Ou bouton "Service", sur le bouton "SCM"). 
Puis j'ai cliqué sur "Apache" dans la liste des services. L'allumé.
Désormais, il est étiqueté "En cours d'exécution" dans le panneau de configuration et "localhost" fonctionne. 

7
Lucy Weatherford

Je viens de tomber sur ce très bien documenté blog concernant Apache ne fonctionne pas .. Je pense que c'est vraiment bon de faire référence si vous avez des problèmes de démarrage Apache. 

Amis Apache

voici les étapes que je note à partir du lien:

  • Vérifiez que le dossier xampp ne se trouve pas dans un dossier contenant des espaces ou des crochets, par exemple (Program Files (x86)
  • Assurez-vous d’avoir exécuté\xampp\setup_xampp.bat (probablement en tant qu’administrateur).
  • dans CMD, exécutez -netstat -a (ou regardez dans Xampp control beta 3 - et appuyez sur le bouton netstat ...), assurez-vous que rien ne fonctionne sur le port 80 (sur win 7, la plupart du temps, son skype utilise réellement le port) 80) (quittez skype et essayez à nouveau, le cas échéant, dans skype -> options - >> avancé -> assurez-vous que la case à cocher "utiliser le port 80 comme alternative est décochée"
  • Si "système" utilise le port 80, les fenêtres qui l'utilisent (j'ai lu qu'il s'agissait d'un service IIS) - si vous activez xampp en tant que service et redémarrez, xampp saisit le port 80 avant le système. ...
  • Si vous ne souhaitez pas exécuter en tant que service, ouvrez xampp\Apache\conf\http.conf et modifiez le port sur lequel Apache sera exécuté (recherchez la chaîne "Listen 80" et "ServerName localhost: 80", puis remplacez 80 par un autre paramètre. par exemple: "180")
  • Assurez-vous que vous exécutez Xampp control.exe en tant qu'administrateur.
  • Arrêtez temporairement votre pare-feu pour voir s'il est arrêté (puis relancez le démarrage d'Apache). Le cas échéant, créez une exception dans le pare-feu Windows
  • Vérifiez que votre anti-virus ne l’arrête pas.
  • Si vous utilisez Windows 7 64 bits ultime (sp1) (comme je le suis), vous risquez toujours d'avoir un problème (comme je le suis)
  • la dernière tentative consiste à supprimer le dossier xampp et à télécharger une version précédente de xampp, puis réessayez. 

Si vous pensez que d'autres étapes pourraient également causer un problème, veuillez commenter. 

12
Hightower

J'ai rencontré ce problème il y a quelques mois. Vous devez définir Apache en tant que service Windows automatique en cochant la case Svc dans le panneau de configuration XAMPP. Une fois que vous l'avez défini en tant que service, vous devez redémarrer Windows avant de pouvoir lancer Apache. Une fois que vous avez redémarré Windows, vous devriez pouvoir arrêter Apache via le panneau de configuration XAMPP.

De un article de blog à ce sujet :

Cela est dû au fait que Windows 7 dispose d'un service appelé http.sys qui démarre automatiquement et utilise le port 80. L'exécution d'Apache en tant que service automatique entraîne le démarrage d'Apache avant le service http.sys. Cela permet à Apache d’obtenir le port 80 avant le démarrage de http.sys. 

6
Jon

Un: s'il fonctionne en tant que service, vérifiez vos services dans Windows et assurez-vous qu'il est arrêté.

Deux: Si ce n'est pas un service, ce sera juste un processus; allez dans le gestionnaire de tâches et trouvez httpd/Apache et terminez le processus.

Trois: Assurez-vous que vous exécutez xampp_start/xampp_control en tant qu'administrateur. Sur certains systèmes, cela est important.

Je recommanderais de toujours utiliser xampp_control car cela donne une fenêtre rapide pour savoir si Apache est censé fonctionner ou non, même si des événements inhabituels se sont produits récemment.

Essayer

netstat -aon | more

Si cela ne fonctionne pas, voyez si quelque chose d'autre écoute sur ce port et terminez ce processus.

Vous pouvez également souhaiter éditer le fichier httpd.conf d’Apache (probablement dans xamppdir/Apache/conf) pour écouter un autre port et voir s’il se lancera.

4
user1086498

Pas:

  1. changez le fichier httpd.cong dans ces lignes:

    Listen 8080

    ServerName localhost:8080 ( port as example, 8080)

  2. Maintenant, créez un fichier xampp.ini où se trouve le fichier xampp-control.exe et mettez-y le code:

    [PORTS]

    Apache = 8080

  3. Maintenant, redémarrez le xampp.

J'espère que cela fonctionnera pour changer le port Apache. Mais si vous avez installé le client Oracle 10g ou n’importe quel logiciel dans lequel Perl est installé, suivez les étapes décrites ci-dessous:

4.changez les lignes de:

`# Perl settings`

`Include "conf/extra/httpd-Perl.conf"`

à

 `# Perl settings`

 `#Include "conf/extra/httpd-Perl.conf"`

Maintenant, redémarrez le xampp et cela fonctionne correctement dans le port 8080.

2
Mohsina

J'ai trouvé le problème dans l'application TeamViewer - elle utilise le port 80 par défaut. Dans les paramètres avancés, j'ai apporté des modifications afin que l'application n'utilise pas le port 80 ou 443 pour les connexions entrantes. Puis changé de xammp et couru à nouveau. Ça marche!

1
niaz

J'ai eu un problème similaire, et après quelques recherches, j'ai découvert que le coupable dans mon cas était le "Service de publication World Wide Web" ( W3SVC in iissvcs Group). 

Apache dans XAMPP s'est exécuté sans problème après avoir arrêté ce service dans mon cas.

J'espère que cela t'aides 

1
Ubermonk

Cela pourrait aider les autres, c'est pourquoi je publie ma solution particulière. J'ai récemment échangé Zend Server CE pour XAMPP (2.5). Le fichier VHOSTS devait être configuré avec une directive Include pour un error_log. J'avais des problèmes avec SVN alors j'ai effacé le projet sur lequel je travaille pour obtenir une nouvelle installation. Cependant, il m'est arrivé de lancer XAMPP avant de faire une commande svn. C'est à ce moment-là que j'ai remarqué qu'Apache était occupé ... Apache a démarré son activité dans le [Port 80]. Le commentaire de quelqu'un sur ce fil m'a rappelé la directive Include. J'ai gravi les répertoires et ajouté un error_log vide et blammo! Apache a bien démarré.

Cela pourrait aider quelqu'un d'autre aussi :)

0
JsusSalv

Dans mon cas, je l'ai résolu en ouvrant xampp\Apache\conf\http.conf.

J'ai changé Listen 80 pour écouter 2337 Au-dessus de cette ligne, j'ai dû ajouter Listen 127.0.0.1:80

Puis j'ai ouvert xampp\Apache\conf\httpd-ssl.conf

J'ai changé Listen 80 to Listen 7332

Ensuite, je pourrais me connecter à nouveau à localhost.

0
WendiT

Tout à coup, mon XAMPP Apache ne voulait pas démarrer et, alors que je ne recevais pas précisément ce message d'erreur, c'était parce que j'avais installé une mise à niveau de Skype. Skype a alors pris le port 80 à l'origine du blocage du serveur Apache. J'ai modifié un paramètre avancé de Skype pour résoudre ce problème.

0
Andrew Koper

Si votre problème n’a pas été résolu, recherchez sur cette page le lien "Correction automatique de Windows". Cela a fonctionné pour moi: a utilisé l'outil, redémarré le PC, tous les ports ouverts, instantanément.

http://support.Microsoft.com/kb/811259/fr

GL

0
RW4