2010-01-14 16 views
7

Ho un lavoro cron su mio ospite:Cosa fa l'opzione della riga di comando -q PHP?

/ramdisk/bin/php5 -q /home2/sharingi/public_html/scrape/copyV2.php 

Questo è semplicemente non è in esecuzione. Il 'supporto' mi sta dicendo che -q è in modalità silenziosa ed è per questo che non ricevo email di output di alcun tipo ...

Tuttavia tutti gli altri miei lavori cron sono stati e sono in esecuzione con -q e sono stati inviati emetto e-mail ... per mesi.

Stavo cercando in giro ma non riesco a trovare quello che fa il flag -q, quindi puoi dirmelo?

risposta

17

Il flag -q elimina l'output dell'intestazione HTTP. Finché il tuo script non invierà nulla allo stdout, -q impedirà a cron di inviarti un'e-mail ogni volta che lo script viene eseguito. Ad esempio, stampa ed echo invia a stdout. Evita di usare queste funzioni se vuoi impedire a cron di inviarti email.

+2

Quindi l'amministratore è sbagliato. Dovrebbe mandarmi in uscita perché la mia prima riga è ' ian

1

-q è fondamentalmente "silenzioso", ovvero il processo cron verrà eseguito senza dettagli, vale a dire senza mostrare l'output, in che modo il programma sta eseguendo il codice.

Ricorda: il modo in cui il programma esegue il codice è diverso da quello che sta emettendo il risultato. Se si sta ottenendo un output, questo potrebbe essere il risultato del file associato a cron. Ma come funziona cron è nascosto e non riceverai alcuna mail di avviso per questo.