web-dev-qa-db-fra.com

Comment arrêter Apache en permanence sur mac Mavericks?

J'essaie d'installer le serveur zend sur mac et j'ai besoin de désinstaller le serveur Apache inclus automatiquement avec Mavericks pour que le serveur Apache fourni avec Zend soit utilisé à la place. Peut-il être empêché de s'exécuter au démarrage ou définitivement supprimé?

43
Edgar Martinez

Essaye ça:

Sudo launchctl unload -w /System/Library/LaunchDaemons/org.Apache.httpd.plist

Cela arrêtera une instance en cours d'exécution d'Apache et enregistrera qu'elle ne devrait pas être redémarrée. Il enregistre votre préférence dans /private/var/db/launchd.db/com.Apple.launchd/overrides.plist.

90
rob mayoff

essaye ça

Sudo killall httpd

ça va tout arrêter 

11
Bobby Primahadi

Si vous avez accédé à cette page comme je l'ai fait et que vous obtenez quelque chose comme /System/Library/LaunchDaemons/org.Apache.httpd.plist: Could not find specified service., essayez de ne PAS utiliser la commande Sudo, ce qui m'a fait obtenir l'erreur ci-dessus.

2
Will

J'ai rencontré le même problème et le coupable était plutôt obtus. OSX essayait d'inclure une version php inexistante, mais le httpd OSX n'était pas non plus directement accessible en raison de la priorité donnée à l'homebrew httpd. Voici ce que j'ai fait qui a résolu le problème:

D'abord: brew unlink httpd Puis which httpd a révélé ce qui suit: /usr/sbin/httpd

À ce stade, j'ai exécuté Sudo /usr/sbin/httpd -k stop, et le véritable coupable s'est révélé:

httpd: Syntax error on line 527 of /private/etc/Apache2/httpd.conf: Syntax error on line 8 of /private/etc/Apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _environ\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

J'ai ensuite corrigé ce problème avec Sudo vi /private/etc/Apache2/httpd.conf, commenté toutes les lignes de ce fichier et exécuté ce qui suit pour faire bonne mesure:

Sudo launchctl unload -w /System/Library/LaunchDaemons/org.Apache.httpd.plist

Cela a déclaré:

/System/Library/LaunchDaemons/org.Apache.httpd.plist: Could not find specified service

Le problème sous-jacent était que l'instance OSX native était toujours en cours d'exécution, mais avait été séparée de launchctl en raison du problème PHP introuvable. Donc, fondamentalement, launchctl pensait qu'il avait correctement fermé le processus, mais l'agent apachectl a refusé de s'arrêter en raison de l'erreur PHP, ce qui a abouti à un processus découplé, qui n'était accessible pour le contrôle direct que lorsque la version homebrew était également non liée.

Commenter le PHP natif include m'a permis d'exécuter Sudo apachectl -k stop sans problème.

Après avoir réglé ce problème, j'ai ensuite couru

brew link httpd

suivi par

brew services restart httpd

Profit.

0
mopsyd