J'ai remarqué que sur mon serveur Linux lorsque je tape apachectl restart, il me donne des commentaires peu mais utiles tels que restarting
et puis [ok]
ou [fail]
à la fin de la ligne. Pas grand-chose, mais au moins je sais ce qui se passe et je peux aller consulter les journaux.
Sur mon OS X, je ne reçois rien. juste la ligne suivante immédiatement:
sh-3.2# /usr/sbin/apachectl stop
sh-3.2# /usr/sbin/apachectl start
sh-3.2#
Comment puis-je activer ces fonctionnalités de «débogage»?
apache-2.2
mac-osx
mgPePe
la source
la source
echo
ligne.echo
? Désolé, je suis nouveau et j'ai besoin de détails: \/usr/sbin/apachectl
.Réponses:
Que diriez-vous dans le script d'encapsulation apachectl vous collez quelque chose comme ça à la fin.
vous devriez voir quelque chose comme ça dans un démarrage normal
authentification Digest ...
/mlk/apache/pid/httpd.pid écrasé - Arrêt impur de la précédente exécution d'Apache?
Sinon, toute erreur devrait au moins en partie être montrée ici. La phrase clé est mise en évidence ci-dessus.
Supplémentaire: / usr / sbin / apachectl appartient à root, vous devez être un utilisateur privilégié pour ce faire. sudo vi / usr / sbin / apachectl
déplacez-vous à la fin du fichier et insérez-le entre les lignes "esac" et "exit $ ERROR". c'est à dire.
Notez que cela imprimera les dernières lignes, quelle que soit l'action que vous entreprenez avec le script, arrêtez de démarrer, redémarrez. vous souhaiterez peut-être le mettre uniquement dans la partie de début de la déclaration de cas.
la source
J'ai le même problème sur mon mac. Chaque fois que j'essaie de démarrer apache et que rien ne se passe, j'exécute immédiatement cette commande. Dans mon cas, le problème semble toujours être dans les fichiers de configuration d'apache.
la source
apachectl -t
apachectl
sur le Mac est un wrapper autour de certaineslaunchctl
commandes (il suffit de regarder dans le fichier). Malheureusement, launchctl ne se termine pas avec un code d'erreur lorsque quelque chose se passe mal au démarragehttpd
, donc le script n'a aucun moyen facile d'afficher quoi que ce soit, même s'il essaie de le faire.Une vérification de base que vous pouvez effectuer vous-même consiste à vérifier l'existence de processus Apache après la
apachectl start
commande.la source
Sur macOS avec
netstat
commande affiche toute la connexion réseau. Vous pouvez filtrer uniquement les connexions «écouter» et voir les serveurs http (s).Vous pouvez créer un fichier bash avec ce code:
Le résultat lorsque le serveur est arrêté
sudo apachectl -k stop
sera:Le résultat lorsque le serveur est en cours d'exécution
sudo apachectl -k stop
sera:Dans cet exemple, j'ai deux serveurs en cours d'exécution, un avec https et un autre avec http.
la source