PHP-CLI nicht stderr Ausgabe Fehler
Ich bin mit der PHP-CLI durch eine NSTask in MacOS, aber diese Frage ist mehr über die CLI selbst.
Hör ich mir die stderr
Rohr, aber noch nichts ausgegeben, egal welche Datei ich versuche zu laufen:
- Wenn der Datei-Typ ist nicht Klartext,
stdout
sets?
. - Wenn die Datei ist ein php-script mit einem Fehler, die Fehlermeldungen werden immer noch gedruckt, um
stdout
.
Gibt es einen Schalter, der den interpreter zum behandeln von Fehlern, die durch stderr
? Habe ich eine Möglichkeit zu erkennen, Fehler analysieren stdout
?
InformationsquelleAutor Petruza | 2011-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
display_errors
- Direktive (überall) nimmt Optional die parameter "stderr
" für Sie zum melden von Fehlern zu stderr statt stdout oder komplett deaktiviert error-Ausgang. Zitat aus dem PHP-Handbuch Eintrag:Alternativ, wenn Sie sind unter Verwendung der Kommandozeilen-Schnittstelle, und Sie möchten, um die Ausgabe der Fehler Ihre eigenen, die Sie wieder verwenden können die Befehl-Linie nput/output-streams:
Hier
STDERR
ist ein schon geöffneter stream auf stderr.Alternativ, wenn Sie wollen, tun es nur für dieses script und nicht im CLI können Sie eine eingereicht handler
php://stderr
und schreiben der Fehlermeldungen gibt.InformationsquelleAutor mhitza
Wenn Sie möchten, dass die Fehlermeldungen geschickt durch den php-interpreter gehen sollte
stderr
-Rohr, müssen Siedisplay_errors
zustderr
InformationsquelleAutor KingCrunch
Dies ist erforderlich, um die Rückkehr von PHP-Reich in-shell-Umgebung, um zu analysieren, richtig Fehlermeldung. Sie müssen noch exit(1) oder was auch immer integer, um wieder exit-status-code von PHP-shell.
Dann, Ihre crontab-Eintrag wie folgt Aussehen:
InformationsquelleAutor stamster
Können Sie auch file_put_contents() mit "php://stderr" Ausgabe auf standard-Fehler, wie:
welche Ausgänge "Hallo PHP!\n" "standard error", und nichts auf der standard-Ausgabe ausgeführt, wenn Sie in einer Bash-shell.
InformationsquelleAutor Mark Leighton Fisher