perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 17
Click for quality!




12.02.2012 / 03:34

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  PHP: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitragecho mitloggen ?
Seitenanfang
Hi zusammen!

Gibt es eine Möglichkeit alles was auf den Bildschirm geprintet wird in eine Logfile umzuleiten, ohne den Umweg über fopen ("Datei.txt" a+)... fputs(...) zu gehen ??

Datum: 20.04.2005-10:18

Beitragre: echo mitloggen ?
Seitenanfang

open STDOUT, ">>logfile" or die "Oops: $!";
...
print "Hello world\n";
...

STDOUT wird umgeleitet auf die angegebene Datei.
Auf syscallebene entspricht das einem


close(1); open("logfile", O_WRONLY|O_APPEND);

Alle folgenden Ausgaben auf Filedescriptor 1 gehen dann in diese Datei.

Datum: 15.05.2005-01:20

Beitragre: echo mitloggen ?
Seitenanfang
Oops, jetzt war ich zu schnell und bin leider aus dem Perl- ins PHP-Forum abgerutscht...

Obige Antwort wäre für Perl gültig, der Ansatz auf Syscallebene gilt für alle POSIX-Implementierungen.

Es sollte also unter PHP ebenfalls eine Implementierung zum Schliessen des Fieldeskriptors 1 geben; Ein Öffnen einer Datei ergibt dann den (mittlerweile freien) Deskriptor 1. Anscheinend abstrahiert PHP dieses Öffnen
aber soweit, dass 1 nicht "recycled" wird.

Folgender Code

fclose(STDOUT);
$f=fopen('/dev/null', 'a+');
print "opened " . $f . "\n";

ergibt
"opened Resource id #4"
anstatt der erwarteten '#1'

</latein>

Datum: 15.05.2005-01:41

-






-
-