2010-01-14 11 views
7

Ich habe einen cron-Job auf meinem Gastgeber:Was macht die Befehlszeilenoption -q PHP?

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

, die gerade Ebene nicht aktiv. Die "Unterstützung" sagt mir, dass -q ist ruhigen Modus und das ist, warum ich keine Ausgabe E-Mails jeglicher Art erhalten ...

Allerdings alle meine anderen Cron-Jobs wurden und sind mit -q laufen und wurden gesendet Ich gebe E-Mails aus ... seit Monaten.

Ich suchte herum, aber kann nicht finden, was die -q Flagge tut, also können Sie mir sagen?

Antwort

17

Das -q-Flag unterdrückt die HTTP-Header-Ausgabe. Solange Ihr Skript selbst nichts an stdout sendet, verhindert -q, dass cron Ihnen jedes Mal eine E-Mail sendet, wenn das Skript ausgeführt wird. Zum Beispiel, Drucken und Echo senden an stdout. Vermeiden Sie die Verwendung dieser Funktionen, wenn Sie verhindern möchten, dass cron Ihnen E-Mails sendet.

+2

Also der Admin ist falsch. Es sollte mir die Ausgabe senden, da meine erste Zeile ' ian

1

-q ist im Grunde "ruhig" bedeutet, dass Ihre Cron-Job ohne ausführliche, d. H. Ohne die Ausgabe zu zeigen, wie Programm den Code ausführt.

Denken Sie daran: Wie das Programm läuft, ist der Code anders als das, was das Ergebnis ausgibt. Wenn Sie eine Ausgabe erhalten, dann kann dies das Ergebnis der Datei sein, die für cron zugeordnet ist. Aber wie Cron funktioniert, ist versteckt und Sie werden keine Alarm-Mail dafür erhalten.