MAMP travaille depuis quelques mois et a récemment installé PostgreSQL. Il recommandait également d'installer Apache, ce que j'ai fait pour m'assurer que PostgreSQL fonctionnait correctement. J'ai ensuite désinstallé PostgreSQL et la compilation Apache et essayé de redémarrer MAMP. Il a déclenché la base de données MySQL (feu vert) mais Apache n’a pas démarré. J'ai désinstallé et réinstallé MAMP uniquement pour faire face au même problème.
Apache ne semble pas enregistrer d’erreurs dans le dossier MAMP. Par conséquent, sans erreur à signaler, il m'est difficile de savoir par qui commencer. J'espère que c'est dû au fait que j'ai installé une autre version (et que je l'ai supprimée) qui a causé le problème, mais je suis trop inexpérimenté pour savoir ce que j'ai fait.
Où pourrais-je trouver des erreurs si ce n'est dans le dossier MAMP? Pas dedans:
Arrêter Apache a résolu ce problème pour moi, en utilisant la ligne de commande:
Sudo apachectl stop
Pour ceux qui passent à Yosemite, il semble y avoir un bogue que je ne comprends pas vraiment, mais qui est facilement corrigé, comme indiqué sur leur compte Twitter.
Solution de contournement pour le bogue 10.10 Preview 5: renommez le fichier "envvars" situé dans '/ Applications/MAMP/Library/bin' en "_envvars" (@mamp_en).
J'avais un problème similaire et je pouvais le résoudre en commençant par la commande apachectl incluse dans MAMP:
$ /Applications/MAMP/Library/bin/apachectl start
ce qui donnerait
Syntax error on line 427 of /Applications/MAMP/conf/Apache/httpd.conf:
Invalid command '\xef\xbf\xbc#AllowOverride', perhaps misspelled or defined by a module not included in the server configuration
Ce message d'erreur n'était nulle part ailleurs, pas dans un fichier journal ou une console système. (Il s’est avéré que j’avais copié une ligne d’un fichier de documentation contenant des caractères spéciaux qui n’étaient pas destinés à mon système - c’est simple à trouver!)
Ceci est pour MAMP 2.0.1, peut-être est-il mieux géré dans les nouvelles versions.
Je suis passé par tous les messages Stackoverflow, mais pas de chance. Enfin, je suis tombé sur ceci: https://www.speakinginbytes.com/2013/02/mamp-problems/
Parfois, Apache est configuré via MAMP pour ouvrir un dossier particulier et ce dossier n'existe plus. Si vous allez simplement dans MAMP et modifiez ce paramètre via le bouton Préférences, vous devriez pouvoir le corriger.
Cela a fait le tour pour moi. Espérons que cela aidera quelqu'un d'autre!
Changez le port Apache recommandé de: port 80 à port 81.
Peut-être que c'est parce que le premier Apache est allumé. Avez-vous essayé de voir le statut? Vous pouvez essayer cette commande pour l'arrêter "apachectl status", puis redémarrer mamp et voir si cela fonctionne.
Je sais que c'est vieux, mais au cas où quelqu'un d'autre le verrait bien. J'avais une faute de frappe dans mon fichier d'hôte virtuel (/Applications/MAMP/conf/Apache/extra/httpd-vhosts.conf) qui empêchait Apache de démarrer. Ce n’est que lorsque j’ai essayé manuellement de démarrer la version d’Apache de MAMP à partir de la ligne de commande (/Applications/MAMP/bin/startApache.sh
) que j'ai vu l'erreur et que j'ai pu la réparer.
J'ai eu le même problème. Après beaucoup de frustration de ne pas avoir de message d'erreur descriptif, j'ai réalisé que je pouvais vérifier le journal "Tous les messages" sous Messages Applications/Outils/Système (ou un chemin similaire, comme je viens de le traduire de mon langue ici). Là j'ai trouvé l'explication, ce qui dans mon cas signifiait qu'un lien de bibliothèque était cassé (probablement à cause de la désinstallation de postgres). J'ai corrigé cela en recréant le lien. Dans mon cas, cela signifiait que je devais exécuter la commande suivante dans le terminal:
Sudo ln -s /usr/lib/libpq.5.3.dylib /usr/lib/libpq.5.dylib
et maintenant ça marche!
Si cela a bien fonctionné à un moment donné, je suppose que quelque chose d'autre sur votre réseau utilise actuellement le même port pour autre chose.
J'avais aussi ce problème: dans mon cas, j'avais changé le port par défaut de MAMP Apache de 8888 à 80. Cela fonctionnait bien jusqu'à ce que j'installe un serveur Web sur une autre machine de mon réseau et que je modifie/etc/hosts sur ma machine locale afin d'inclure le nouveau serveur. Cela signifiait que le port 80 était déjà utilisé et Apache de MAMP ne pouvait pas démarrer.
La solution consistait soit à arrêter le deuxième serveur Web sur mon réseau, soit à rétablir MAMP à 8888. Les deux approches ont bien fonctionné.
1) Quittez MAMP
2) Utilisez la ligne de commande pour exécuter:
$ Sudo apachectl restart
3) Ouvrez MAMP et démarrez Apache
4) Apache devrait commencer cette fois avec un peu de chance
Ma situation était que lorsque j'ai utilisé la ligne de commande pour exécuter:
$ Sudo apachectl stop
rien n'a changé. Et quand j'ai utilisé la ligne de commande pour exécuter:
$ Sudo apachectl start
J'ai reçu le message
httpd (pid 600) already running
J'ai essayé de redémarrer à la place et cela a fonctionné.
Dans mon cas, il y avait un mauvais certificat SSL sur un vhost. Pour tester, il suffit de désactiver temporairement SSL de tous vos hôtes SSH et de voir s’il démarre. NOTE: même si les vsost ssl ne sont pas vérifiés.
La ligne de commande aide à résoudre ce problème. comme ci-dessous,
/ Applications/MAMP/Bibliothèque/bin/apachectl start
/ Applications/MAMP/Bibliothèque/bin/apachectl stop
Si votre dossier htdocs (ou équivalent) est stocké sur un stockage externe, vous devrez peut-être vous y connecter (dans le Finder ou à l'aide de cmd + K) avant le démarrage d'Apache.
Pour résoudre ce problème particulier, j'ai réinstallé PostgreSQL et la version Apache qui l'accompagnait, puis j'ai réinstallé MAMP et MAMP a bien fonctionné.
J'ai eu ce problème et il s'est avéré qu'un fichier .txt qui n'était pas un fichier vhosts avait été en quelque sorte sauvegardé sur mon sites-available
dossier qu'Apache incluait automatiquement et s'attendait à ce que chaque fichier soit un fichier vhosts.
Assurez-vous également que vous ne lancez pas une version plus ancienne de MAMP. Cela m'est arrivé lorsque j'ai utilisé Spotlight pour trouver MAMP. Lorsque l'application se met à niveau, elle conserve les anciennes copies dans votre dossier Applications.