[PHP] alle erros standaard naar logfile?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 18-11-2022
wat ik het liefst heb is dat een site geen errors laat zien als die zich voor doen maar al die erros netjes naar een logfile gaan.

zoiets dus:
code:
1
2
3
error_reporting(0);
error_log("./errors.log");
log_errors("1");


bovenstaande werkt natuurlijk niet want die error_log functie is om per error te werken maar wellicht is er iest vergelijkbaars?

ook track_errors heb ik niet zoveel aan omdatie alleen de laatste error onthoudt.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; - All errors and warnings
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors
;
error_reporting = E_ALL

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors = Off

; Even when display_errors is on, errors that occur during PHP's startup
; sequence are not displayed. It's strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors = Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = On

; Store the last error/warning message in $php_errormsg (boolean).
track_errors = Off
; Log errors to specified file.
;error_log = filename

Dit zou ik dus verwachten :)

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:50
Toevoeging op bovenstaande lap txt van Nielsz:
Veranderingen maken in je php.ini file.

[ Voor 1% gewijzigd door Sybr_E-N op 01-12-2002 19:05 . Reden: tis Nielsz ]


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

In de manual staat een hoofdstukje over Error Handling. Daarin vind je ook set_error_handler() terug waarmee je in als je geen toegang hebt tot je .ini alsnog alle errors kunt afvangen (op parse errors na, als ik me niet vergis).

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 18-11-2022
ja, tnx all,
maar mijn vraag was dus of je op een simpele manier ALLE errors direct naar een logfile kan doorsluizen,
met bovenstaande oplossingen moet je dus elke mogelijke error afvangen en doorsturen naar je log.

wat ik zou graag zou hebben is dat als php wat voor error dan ook tegenkomt datiie dan denkt van:
tjemig de pemig, da's ech nie goed wat daar gebeurd, ik denk dat ik deze error maar ff naar de logfile schrijf.

error_log doet dat dus nie!
code:
1
2
3
4
5
6
7
8
9
error_log
(PHP 3, PHP 4 )

error_log -- send an error message somewhere
Description
int error_log ( string message [, int message_type [, string destination [, string extra_headers]]])

example:
error_log ("You messed up!", 3, "/var/tmp/my-errors.log");


wellicht dat als je het in je ini file opgeeft dat het dan weer wel gebeurd maar dat houdt dan meteen in dat je dus niet alleen voor een specifieke site errors kan afvangen.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Acties:
  • 0 Henk 'm!

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

GiLuX schreef op 01 december 2002 @ 19:56:
ja, tnx all,
maar mijn vraag was dus of je op een simpele manier ALLE errors direct naar een logfile kan doorsluizen,
met bovenstaande oplossingen moet je dus elke mogelijke error afvangen en doorsturen naar je log.

wat ik zou graag zou hebben is dat als php wat voor error dan ook tegenkomt datiie dan denkt van:
tjemig de pemig, da's ech nie goed wat daar gebeurd, ik denk dat ik deze error maar ff naar de logfile schrijf.
Errmz.. Dat doet log_errors = On dus ook. Voorbeeldje van mijn php_error.log:
[28-Nov-2002 16:25:40] PHP Notice: Undefined index: HTTP_USER_AGENT in /var/www/includes/class.xhtmldoc.php on line 197
[01-Dec-2002 17:14:46] PHP Warning: Unable to create '': No such file or directory in /var/www/includes/class.uploadedimage.php on line 146
[01-Dec-2002 17:14:46] PHP Warning: Unable to move '/tmp/phpn0le25' to '' in /var/www/includes/class.uploadedimage.php on line 146

On track


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

GiLuX schreef op 01 december 2002 @ 19:56:
wellicht dat als je het in je ini file opgeeft dat het dan weer wel gebeurd maar dat houdt dan meteen in dat je dus niet alleen voor een specifieke site errors kan afvangen.
Nope. Het is ook mogelijk je globale php.ini settings te overschrijven per directory. Hoe en of het kan is wel een beetje afhankelijk van je OS / Webserver software, maar in het geval van Apache zit je goed ... klik :)

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 18-11-2022
ahr ahr,
keb dit nu in een virtualhost directive gezet en apache opnieuw gestart en een error geforceerd,
code:
1
2
        php_value error_log /home/somevirtuser/html/logfile.log
        php_flag log_errors On

maar alas,
die error log blijft leeg

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

Mag On met een hoofdletter?
Zitten er errors in je script die boven het error reporting level uitkomen?
Bestaat het pad naa je error log wel?

en als je errors niet wilt tonen op je schermpje vergeet dan niet ook nog display_errors te zetten.

|_____vakje______|


Acties:
  • 0 Henk 'm!

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 18-11-2022
hmmm, ik had
error_reporting(0)
in me script, omdat ik geen errors on screen wil, maar dat betekent dus meteen helemaal geen errors, ook niet in log volgens mij?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
GiLuX schreef op 01 December 2002 @ 22:55:
hmmm, ik had
error_reporting(0)
in me script, omdat ik geen errors on screen wil, maar dat betekent dus meteen helemaal geen errors, ook niet in log volgens mij?
klinkt erg logisch :)
Pagina: 1