SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.03.2009, 01:31:58
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
PHP-Error in eigenes Logfile schreiben

Hallo zusammen,

ich versuch grad mir eine eigene sql_error.log zu erstellen.

In dieser möchte ich den Fehler, denn 'mysql_error();' zurückgibt protokollieren. Dazu auch den Fehler den PHP dazu ausgibt, denn hier wird dann Datei, Fehler und Zeile angegeben.

Der SQL-Fehler ist ja einfach zu loggen, bei PHP beiss ich mir im Moment die Zähne aus.

hab schon mit folgenden versucht an die PHP-Fehlermeldung zu kommen
- $php_errormsg
- error_get_last() <- kommt nicht die, die am Bildschirm bzw. zum SQL-Fehler passt.

Ich möchte im Prinzip genau das haben, was PHP selbst ins Logfile (wenn eingestellt) schreibt.
=> [19-Mrz-2009 01:12:10] PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in F:\http\entwicklung\startseite\nachrichten.php on line 197
Das Logfile von PHP selbst, ist jedoch für mich nicht verwendbar, da in dieses Fehler geschrieben werden.

im Moment sieht das Ganze etwa so aus:
PHP-Code:
// MY_SQL Fehler in sql_error.log schreiben
if($system_error == 1){
    
$error_log fopen("logs/sql_error.log","a");
    
    
fputs($error_log,
    
date("d.m.Y, H:i:s")." von ".$_SESSION['nick']."\n\n".
    
"in =>  ".$_SERVER['PHP_SELF']."?page=".$_GET['page']."&loc=".$_GET['loc']."\n".
    
"PHP Fehlermeldung: ".$php_error['message']."\n".
    
"in Datei: ".$php_error['file']."\n".
    
"in Zeile: ".$php_error['line']."\n\n".
    
"SQL-Statement:"$statement."\n".
    
$sys_error."\n".
    
"=========================================================================\n\n"
    
);
    
fclose($error_log);

Im Script ruf ich es mit include auf... wobei ich mir sehr gut vorstellen könnte statt ein include das in eine Funktion zu packen wenn es dann mal funktioniert.

hier ein Beispiel wie ich es grad teste.
PHP-Code:
$result mysql_query("SELECT ib.*, u.username
                             FROM msg_inbox ib, user u
                            WHERE ib.user_id = "
.$_SESSION['user_id']."
                              AND ib.in_msg_id = '{$_GET['in_msg_id']}'
                              AND u.userid = ib.from_user_id"
,$db);
    if(!
$result){$system_error =1$statement "Inbox-Nachricht aus Datenbank auslesen"$php_error error_get_last(); $sys_error mysql_error($db); include("logfile.php");}
    
$message mysql_fetch_assoc($result); 
Aktuell sehen die Einträge wie folgt aus:
der dazugehörige PHP-Fehler wäre:
[19-Mrz-2009 01:12:10] PHP Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in F:\http\entwicklung\startseite\nachrichten.php on line 197

Code:
19.03.2009, 01:02:46 von IceMan

in =>  /entwicklung/startseite/index.php?page=nachrichten&loc=read
PHP Fehlermeldung: A session had already been started - ignoring session_start()
in Datei: F:\http\entwicklung\startseite\nachrichten.php
in Zeile: 2

SQL-Statement:Inbox-Nachricht aus Datenbank auslesen
Unknown column 'u.userid' in 'where clause'
=========================================================================

Geändert von AlexD (19.03.2009 um 01:38:42 Uhr)
Mit Zitat antworten
  #2  
Alt 19.03.2009, 08:51:11
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: PHP-Error in eigenes Logfile schreiben

Dieses:
Zitat:
Ich möchte im Prinzip genau das haben, was PHP selbst ins Logfile (wenn eingestellt) schreibt.
liegt im wiederspruch zu:
Zitat:
Das Logfile von PHP selbst, ist jedoch für mich nicht verwendbar, da in dieses Fehler geschrieben werden.
Bitte den Wiederspruch auflösen.


http://de2.php.net/manual/de/book.errorfunc.php

PHP-Code:
$result mysql_query('SELECT .........') or trigger_error(mysql_error()); 

Geändert von DokuLeseHemmung (19.03.2009 um 08:55:25 Uhr)
Mit Zitat antworten
  #3  
Alt 19.03.2009, 09:56:08
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: PHP-Error in eigenes Logfile schreiben

oh.. ja schlampige Formulierung von mir.

Das Problem des Logfiles von PHP selbst ist, dass hier jeder Fehler geschrieben wird, auch wenn er von einer ganz anderen Web-Seite kommt.

Hab die trigger_error Funktion mal so getestet.

Wenn ich nun mit error_get_last die letzte Fehlermeldung abfrage, kommt genau das was ich wollte... den SQL-Fehler mit Dateiangabe und Zeilenangabe!!

Danke für den Tip

Falls noch Fragen/Probleme auftreten sollten.. schreib ich nochmal. ;)
Mit Zitat antworten
  #4  
Alt 19.03.2009, 12:45:19
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: PHP-Error in eigenes Logfile schreiben

Zitat:
Das Problem des Logfiles von PHP selbst ist, dass hier jeder Fehler geschrieben wird, auch wenn er von einer ganz anderen Web-Seite kommt.
Das kannst du auf eine eigene Datei umlenken!

Zitat:
Wenn ich nun mit error_get_last die letzte Fehlermeldung abfrage
Warum keinen eigenen ErrorHandler?
Mit Zitat antworten
  #5  
Alt 20.03.2009, 09:00:53
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: PHP-Error in eigenes Logfile schreiben

Hi,

also die PHP-Errors werden schon in einer von mir bestimmten Datei auf meinem Webserver geschrieben.

Warum kein eigener ErrorHandler?!
Gute Frage, bin beim Suchen auf PHP.net auch über die Möglichkeit gefallen. Es stand aber auch dabei, dass man damit auch die normalen Fehlermeldungen gänzlich umgeht.
Ist ja wohl auch Sinn und Zweck der Geschichte...
Und ehrlich gesagt hab ich mich damit noch nie beschäftigt, ich werd mir das auf jeden Fall nochmal ansehen, hab da aber noch keinen Plan wie der eigene ErrorHandler gehandlet wird. ;)
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
neuling bitte hilfe bei php konfiguration anonym Apache HTTP-Server 3 21.10.2008 07:59:29
PHP Tunnel lusitaz PHP für Fortgeschrittene und Experten 5 23.10.2006 13:41:33
Wie man durch PHP von der Schule fliegen kann?! Jacki Off Topic Area 2 06.08.2004 12:20:39
Eigenes PHP Gästebuch - Probleme Soligor PHP Grundlagen 50 23.07.2003 19:43:38
Einführung in PHP und Datenbanken Lómion PHP für Fortgeschrittene und Experten 7 07.02.2002 13:47:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:39:53 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt