2010-04-27 14 views
9

Sto facendo uno sviluppo poco frequente con Apache/PHP sulla mia macchina Windows, quindi ho optato per eseguire apache come processo di console invece di un servizio. Sarebbe bello se gli errori potessero essere registrati nella finestra della console invece di un file di log, così posso vederli immediatamente. Questo può essere fatto in qualche modo? Non sembra che Apache abbia una tale capacità integrata e non riesca a trovare un mod che possa fare questo.È possibile eseguire Apache httpd per registrare gli errori nella console anziché nei file di registro in Windows?

risposta

3

Non sono sicuro se apache ti consente di fare questo, ma hai provato ad utilizzare:

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

Questo dovrebbe ti permettono di vedere il registro in tempo reale (supponendo che non sono il buffering o nulla)

EDIT: Poiché si tratta di una macchina Windows, la stessa cosa può essere fatta usando TextPad (solo averlo per ricaricare automaticamente il file di registro in caso di modifica). Funzionerà come tail

+0

E 'una macchina Windows, ho già affermato che. Ma suppongo che 'tail' possa essere compilato anche per questo. Bene, è un'opzione, anche se preferirei se ci fosse solo una finestra della console. Hmm ... poi di nuovo probabilmente potrei farla franca impostandola come un servizio e quindi creando un file batch per avviarlo, seguito da 'tail' e quindi arrestando il servizio. O scrivi semplicemente il mio programma di avvio/lettore/stopper in C#, è facile. Ancora - forse è disponibile una soluzione più elegante? –

+0

Mi piace questo suggerimento in questo modo si hanno gli errori in un file e visualizzati sulla console. Ma sì, tail è nativo di * nix non di Windows, anche se può essere fatto funzionare in Windows, la soluzione più semplice che conosco è cygwin –

+0

Wow ho completamente gettato un'occhiata alla parte di Windows :(. Ho aggiornato la mia risposta per usare TextPad, che dovrebbe lavoro –

9

Sì, è possibile.

Modificare il file httpd.conf-pipe l'uscita del log degli errori alla finestra della console con questa direttiva:

ErrorLog "|more" 
+2

Non funziona sul mio Windows 8. Mi dà errore: (OS 2) Il sistema non è possibile trovare il file specificato. : AH00089: impossibile avviare Erro rLog processo 'altro'. AH00015: impossibile aprire i registri – Peihui

+0

Qualsiasi informazione su una soluzione Windows? – Petah

+2

Impossibile avviare il processo ErrorLog 'more'. – user3673

2

Volevo solo aggiornare a questa domanda con una risposta che può essere contagiando un gruppo di persone.

Scenario:

  • esecuzione di un contenitore di finestra mobile apache2
  • Vuoi uscita del docker run <container_id> per mostrare i registri

senza parlare troppo di finestra mobile, il relativo comando Corsi a correre apache e spettacolo registri allo stesso tempo:

/usr/sbin/apache2 & tail -f /var/log/apache2/* 

Si ca n modificare ciò di cui hai bisogno (sto usando l'immagine debian:jessie). Come menzionato in un commento sopra, hai ottenuto tail per Windows e credo che l'operatore & dovrebbe funzionare anche in Windows (non sono sicuro di questo).

Questo comando bloccherà la shell e tenere spuntano roba dai registri ...

Spero che questo aiuti qualcuno

+2

Credo che questo non funzionerebbe correttamente perché quando si tenta di interrompere o terminare questo processo (o contenitore docker) si fermerebbe solo il processo di coda, non Apache, che quindi continuerebbe a funzionare e non riuscirebbe ad avviare la prossima volta che si tenta di avvia il contenitore. – Dustin

Problemi correlati