Moin Thomas,

On Sat, Dec 15, 2012 at 03:14:58PM +0100, Thomas Schmidt wrote:
> Werden Fehler vom Webserver oder von PHP geloggt? Das Loggen von
> PHP-Fehlern ist doch recht unüblich.

Nunja, PHP-Skripte haben wie alle CLI-Tools eine Standardausgabe und eine
Standard-Fehlerausgabe. Die Standardausgabe wird mit der Antwort an den
Client befüttert, die Fehlerausgabe bekommen alle Fehlermeldungen mit. Der
Webserver ruft also das Skript auf, und verarbeitet die beiden
Ausgabe-Kanäle seperat, schreibt also die Fehler in das Error-Log und die
Standardausgabe an den Client der ihn kontaktiert hatte.

> Deine Schleife verstehe ich ebenso wenig.
> 
> 1) Du greifst auf ein Verzeichnis zu, das nicht existiert. Warum
> prüfst du die Existenz nicht? Du wirst die Fehlermeldungen doch
> gesehen haben.

Eigentlich sollte man das vorher abgeprüft haben, denn das opendir() gibt
schon einen Fehlerwert (FALSE) zurück.
 
> 2) Dann wiederholst du den Zugriff in einem unglaublichen Tempo. Was
> soll das? Geht da nicht ein delay()?

Das wiederholen hat eigentlich nur den Sinn, dass man alle Einträge aus dem
Verzeichnis erhält, denn readdir() gibt immer nur einen Eintrag zurück und
am Ende ein FALSE wenn keine weiteren Einträge vorhanden sind. Ein delay()
macht da keinen sinn, denn wenn man wirklich ein Verzeichnis durchgeht will
man nicht absichtlich warten. Sinn macht es nur, wenn man nicht in einem
Kontext wie der Web-Entwicklung arbeitet (so z.B. wenn man einen Daemon
schreibt)

> 3) Und schließlich ist das Polling und potentiell endlose Wiederholen
> ein schöner Ressourcen-Killer. Kann das Script nicht nach drei
> Fehlversuchen abbrechen, oder, besser, nur starten, wenn die benötigte
> Datei da ist?

Eigentlich sollte die Nicht-Existenz vorher abgeprüft worden sein, und
daher die Schleife nie aufgerufen werden. 

Gruß, Andre

-- 
Andre Klärner

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an