CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
28.02.2011, 11:18:30
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
unterdrückte Fehlermeldungen
Einen wunderschönen guten Morgen,
ich schreibe gerade wieder an einem umfangreichen cronjob. Dabei taucht immer wieder das gleiche nervige Problem auf:
solange ich den cronjob entwickle gebe ich mir natürlich Fehlermeldungen aus. (Den Job führe ich im Webmin über den cronserver aus) Mein error-reporting steht auf all+strict. Ich müsste also alles bekommen. Das passiert auch ganz normal so wie es soll, wenn der Fehler in der Hauptdatei selbst auftaucht. Baue ich aber einen Fehler in einem includeten Script ein erhalte ich keinerlei Ausgabe. Was zuvor ausgegeben wurde ist da. Ist es ein Syntaxfehler gibt's rein gar nix!
Woran liegt das? Was ist beim Cronjob anders, das trotz error-reporting nichts ausgegeben wird, was in den incs fehlerhaft ist.
vielen Dank für's Mitdenken
Gruß
üb
|
28.02.2011, 11:24:32
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: unterdrückte Fehlermeldungen
Umgekehrt!
Syntaxfehler in der Datei mit dem Errorreporting werden nicht angezeigt, weil das Errroreporting erst nach dem Parsen ausgeführt wird.
Fehler in include Dateien werden gezeigt.
Aktiviere doch das error log....
|
28.02.2011, 11:31:19
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
AW: unterdrückte Fehlermeldungen
Danke für die fixe Reaktion, aber dem ist leider nicht so.
Hab grad nochmal zum Test einfach eine Zeichenkette in den Code gepackt. Tue ich das in dem aufgerufenem Script erhalte ich den "Parse error", tue ich das in einem includeten meldet der Server "keine Ausgabe", obwohl der Fehler der selbe ist^^
|
28.02.2011, 11:32:30
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
AW: unterdrückte Fehlermeldungen
achso, errorlog ist auch an, erhält dann aber keinen Eintrag^^
|
28.02.2011, 11:35:12
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: unterdrückte Fehlermeldungen
Das kann alles nicht sein!
Du verheimlichst den wesentlichen Punkt. ;-)
|
28.02.2011, 11:38:04
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
AW: unterdrückte Fehlermeldungen
bestimmt, aber genau den such ich ja. Genau diese Kombi ist mir ja das Rätsel.
Gibt es da nichts in der Art "Ich hab da mal gelesen, daß bei cron und Fehlern..." oder so? Eigentlich brauch ich auch nur einen Ansatz, damit ich weiter prüfen kann. Aber ich hab halt keine Idee, woran es überhaupt noch hängen könnte.
|
28.02.2011, 11:43:53
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: unterdrückte Fehlermeldungen
Wie gesagt:
Dir ist nicht zu helfen, wen du geheim hältst, welchen Bock du da schießt.
Tipp:
Reduziere den Code auf ein Fehler reproduzierendes Minimum.
Und zeige ihn!
Denn auf "im Nebel stochern" habe ich keinen Bock.
|
28.02.2011, 12:06:26
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
AW: unterdrückte Fehlermeldungen
Was anderes als Nebel hab ich nur leider nicht. gern kriegst du den Code. Ich habe ihn ja schonsoweit reduziert, daß er nichts macht, außer Fehlerausgaben zu provozieren^^
das gibt eine korrekte fehlermeldung
aufgerufenes Script
PHP-Code:
#!/usr/bin/php
<?php
error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors', 'On');
ini_set ('log_errors', 'On'); ini_set ('error_log','/www/v6errorCRON.log');
set_time_limit(1000);
ignore_user_abort(true);
belibiger Text zum Provozieren eines ParseFehlers
include ('class/test.php');
?>
inkludiertes Script
PHP-Code:
<?php
echo 'hallo';
?>
mei dem Fehler meldet der cronserver, daß keine ausgabe erfolgt ist.
aufgerufenes Script
PHP-Code:
#!/usr/bin/php
<?php
error_reporting (E_ALL | E_STRICT);
ini_set ('display_errors', 'On');
ini_set ('log_errors', 'On'); ini_set ('error_log','/www/v6errorCRON.log');
set_time_limit(1000);
ignore_user_abort(true);
include ('class/test.php');
?>
inkludiertes Script
PHP-Code:
<?php
echo 'hallo';
belibiger Text zum Provozieren eines ParseFehlers
?>
bei allen normalen Browseraufrufen, taucht dieses Verhalten ja auch nicht auf, sondern nur bei cronjobs.
|
28.02.2011, 12:20:15
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
|
|
AW: unterdrückte Fehlermeldungen
hmm...
1. Einen user_abort wirds nie geben! Also gibts da auch nix zu ignorieren.
2. Was hat das Timelimit in einem mini Script zu suchen? ;-)
3. Du solltest dein "errorlog" erstmal ausgiebig auf der Kommandozeile testen, um die Funktion sicher zu stellen.
4. Vermutlich wird die include Datei einfach nicht gefunden, oder die falsche geladen. Wetten?
Zitat:
bei allen normalen Browseraufrufen, taucht dieses Verhalten ja auch nicht auf, sondern nur bei cronjobs.
|
Dann rufe das Script doch über wget auf....
1. dann kommen deine Meldungen
2. wird dann die bekannte und funktionierende php.ini verwendet
3. entspricht dann CWD und der Include Path deinen Erwartungen
|
28.02.2011, 12:55:09
|
Anfänger
|
|
Registriert seit: Feb 2011
Alter: 45
Beiträge: 6
|
|
AW: unterdrückte Fehlermeldungen
Zitat:
Zitat von DokuLeseHemmung
1. Einen user_abort wirds nie geben! Also gibts da auch nix zu ignorieren.
2. Was hat das Timelimit in einem mini Script zu suchen? ;-)
|
Blieben nur für den Fall drin, daß daran was hing. Wie gesagt, hab mein Script immer weiter reduziert. Die SystemBefehle hatte ich dann für Dich nochmal drin gelassen. Wenn Sie raus sind gibt's ja dennoch einen Standardwert. Hätte sein können, daß von Dir jetzt ein "ach ja, damit passeirt folgendes" kommt...
Zitat:
Zitat von DokuLeseHemmung
3. Du solltest dein "errorlog" erstmal ausgiebig auf der Kommandozeile testen, um die Funktion sicher zu stellen.
|
hmm, andere logs werden ganz normal geschrieben.
Zitat:
Zitat von DokuLeseHemmung
4. Vermutlich wird die include Datei einfach nicht gefunden, oder die falsche geladen. Wetten?
|
oh doch, die ausgaben geschehen ja, solange kein Fehler da ist. Es funktioniert ja alles. Ist nur doof, wenn ich mich mal vertippe und dann das falsche Pixel im Code ohne Anhaltspunkt suchen muss - so ein "Komma statt Semikolon" zB.
Zitat:
Zitat von DokuLeseHemmung
Dann rufe das Script doch über wget auf....
1. dann kommen deine Meldungen
2. wird dann die bekannte und funktionierende php.ini verwendet
3. entspricht dann CWD und der Include Path deinen Erwartungen
|
werde das gleich mal testen. includepath und php.ini werden aber stimmen, weil das ganze ja läuft, solange kein Syntaxfehler da ist...
Mal schauen, was mir über wget gemeldet wird...
auf jeden Fall schonmal ein großes Danke für Deine Schnelligkeit!!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:32:22 Uhr.
|