12
votes

Apache httpd peut-il être fait pour enregistrer des erreurs à la console au lieu de fichiers journaux sous Windows?

Je fais un développement peu fréquent avec Apache / PHP sur ma machine Windows, donc j'ai choisi d'exécuter Apache en tant que processus de console au lieu d'un service. Ce serait bien si des erreurs pouvaient être connectées à la fenêtre de la console au lieu d'un logfile afin que je puisse les voir immédiatement. Cela peut-il être fait d'une manière ou d'une autre? Il ne semble pas que Apache ait une telle capacité intégrée et je ne trouve pas de mod qui le ferait non plus.


0 commentaires

3 Réponses :


3
votes

Je ne sais pas si Apache vous laissera faire cela, mais avez-vous essayé d'utiliser:

queue -f /the/apache/logfile.log ?

Cela devrait vous laisser regarder le journal en temps réel (en supposant que vous ne soumissez ni rien)

EDIT : Comme il s'agit d'une machine Windows, la même chose peut être faite à l'aide de TextPad (il suffit de recharger automatiquement le fichier journal sur le changement). Il fonctionnera la même chose que queue


8 commentaires

C'est une machine Windows, j'ai déjà dit que. Mais je suppose que queue peut être compilé pour cela aussi. Eh bien, c'est une option, même si je préférerais s'il n'y avait qu'une seule fenêtre de console. Hmm ... là encore, je pourrais probablement vous échapper avec la configuration en tant que service, puis créer un fichier de commandes pour la démarrer, suivi de queue puis arrêtez le service. Ou écrivez simplement mon propre programme de démarrage / lecteur / bouchon en C #, c'est facile. Toujours - peut-être qu'une solution plus élégante est disponible?


J'aime cette suggestion de cette façon que vous ayez les erreurs dans un fichier et affichant sur la console. Mais oui, la queue est originaire de * Nix et non Windows, bien qu'elle puisse être faite de fonctionner dans Windows, la solution la plus facile que je connaisse est Cygwin


Wow j'ai totalement jeté un coup d'œil sur la partie Windows :(. J'ai mis à jour ma réponse à utiliser textpad, qui devrait fonctionner


@ Flash84X - En fait, une recherche rapide Google révèle une mise en œuvre de la queue de Win32 de Win32 native, dont certaines par Microsoft lui-même. Cygwin est un peu extrême à mon goût. : P


@WebDestroya - idée intéressante. J'utilise Notepad ++ moi-même, mais cela a aussi cette fonctionnalité.


@Vilx - Je l'ai généralement trouvé comme une contrariété, mais cela a ses utilisations.


@WebDestroya - Tant qu'il peut être défini pour ne pas expliquer explicitement chaque fois qu'il y a une mise à jour, cela devrait être bien. Je pourrais l'essayer. :)


@Vilx - "Prefs-> File-> 'Quand les fichiers sont ouverts par un autre processus ...' Recharge automatique '" "



11
votes

oui, il peut.

Modifier votre httpd.conf fichier sur tuyau la sortie du journal des erreurs à la fenêtre de votre console avec cette directive: xxx


4 commentaires

Ne fonctionne pas sur ma fenêtre 8. Cela me donne une erreur: (OS 2) Le système ne peut pas trouver le fichier spécifié. : AH00089: impossible de démarrer Erro Rlog Process 'Plus'. AH00015: Impossible d'ouvrir des journaux


Des informations sur une solution Windows?


Impossible de démarrer ErrorLog Process 'Plus'.


Errorlog "| C: /windows/system32/more.com"



4
votes

Je voulais juste mettre à jour cette question avec une réponse qui peut affronter un groupe de personnes.

scénario:

  • Exécution d'un conteneur Apache2 Docker
  • veut une sortie de docker exécuter pour afficher les journaux

    sans parler trop de Docker, la commande correspondante que j'ai couru pour exécuter Apache et montrer des journaux en même temps: xxx

    Vous pouvez modifier cela comme Vous avez besoin (j'utilise Debian: Jessie image). Comme mentionné dans un commentaire ci-dessus, vous avez obtenu queue pour Windows et je pense que l'opérateur & doit fonctionner également dans Windows (pas sûr de cela).

    Cette commande bloquera votre coquille et continuera à germer des trucs de vos journaux ...

    J'espère que cela aide quelqu'un


1 commentaires

Je crois que cela ne fonctionnerait pas correctement parce que lorsque vous essayez d'arrêter ou de tuer ce processus (ou du conteneur Docker), cela n'arrêterait que le processus de queue, pas Apache, qui continuerait ensuite à courir et n'arrivaient pas à commencer la prochaine fois que vous essayez de commencer le conteneur.