[PHP] php-errors per e-mail

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe kan ik alle php en mysql errors naar mijn mail toe gestuurd krijgen zonder een php script te includen.
Ik heb nu dat hij een .log bestand bijhoud, ik moet dan nog een progje/script maken dat hij hem naar een bepaalt e-mail adres stuurt.

Hoe kan ik dit het beste oplossen?
Of zijn er andere manieren om dit te doen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Die ken ik maar ik wil juist niet bij elk php bestand wat ik maak dat script in te hoeven invoegen

Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

1 functie query maken :)

PHP:
1
2
3
4
5
6
function query($opgegeven_query) {
      $query = mysql_query($query);
         if(mysql_erro()) {
             mail("blaat@blaat.nl", "error in query", mysql_error());
        }
}


ff snel uit mn hoofd maar zoiets :)

Ja man


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 22 September 2003 @ 16:30:
Die ken ik maar ik wil juist niet bij elk php bestand wat ik maak dat script in te hoeven invoegen
dus je wilt dat hij automagisch via 1 of andere telepathie gaat emailen? ja hoor, succes ermee

Acties:
  • 0 Henk 'm!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 12:47

killercow

eth0

je kunt in je php.ini wel het een en ander toevoegen aan error headers en error footers, mischien kun je daarin iets bouwen.

of wil je echt alleen de mysql error's?
Mischien kan mysql wel het een en ander loggen, en ander idd een functie gebruiken als bovenstaande.

openkat.nl al gezien?


Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Een MySQL error is ook wat anders dan een PHP error , de MySQL error afhandling kan je naar mijn weten ook niet in de php.ini afwerken.

En ik heb die functie bij MySQL nog niet gezien, ik geef je weinig hoop :)

Ja man


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
:-) het moet toch kunnen met een instelling (php.ini) of een script(non-php) dat hij automatisch een mailtje stuurt als hij een error krijgt. Ik weet ook wel dat het met een php functie of class via bv. phplib kan. Maar dat is het groote probleem.

Acties:
  • 0 Henk 'm!

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 12-09 14:07

BierPul

2 koffie graag

Verwijderd schreef op 22 september 2003 @ 16:43:
:-) het moet toch kunnen met een instelling (php.ini) of een script(non-php) dat hij automatisch een mailtje stuurt als hij een error krijgt. Ik weet ook wel dat het met een php functie of class via bv. phplib kan. Maar dat is het groote probleem.
Haal de source van MySQL op ga in de C code vroeten en maak je functie B)

Good luck :X

[ Voor 3% gewijzigd door BierPul op 22-09-2003 16:47 ]

Ja man


Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Maak een PHP script dat in al je PHP scripts de call naar set_error_handler() toevoegt. :P

Rustacean


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Nope, log de errors en ga een batchjob runnen om de minuut.
Even wat meer info: Je gaat dus kijken of er nieuwe errors zijn die aan je criterium voldoen, zoja, ga je die mailen. Dan kun je overigens ook gecombineerde mails maken als er meerdere zijn.

Je moet trouwens ook een controle inbouwen op het aantal keren dat je dezelfde error krijgt anders gaat je mailbox een beetje vol zitten na een tijdje of je server crashes door het te grote aantal mails. Ik zou ze wel naar een goed emailadres bij bijvoorbeeld een provider sturen, hotmail e.d. duren vaak nogal lang.

[ Voor 82% gewijzigd door djluc op 22-09-2003 17:58 ]


Acties:
  • 0 Henk 'm!

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

zou best gaaf zijn als er een error in je mail syntax zit, maar hij wel gewoon voldoende doet om de mail zelf te maken... Gaat hij loopen :)

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
aan de TS
wat jij dus wil is als je deze situatie heb:

PHP:
1
2
$query = "SELECT * FROM tabel WHERE id=";
$result = mysql_query($query);

dat er zonder dat je daar verder iets aan doet een mail gestuurd wordt? (en je script beëindigd)

Bedenk even dat dit opzich geen fout genereert, dus dat zal erg lastig worden...dan zul je inderdaad zoals eerder werd voorgesteld in de broncode moeten gaan zitten hakken.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Het geeft dan pas een error zodra je $result gaat gebruiken voor functies als mysql_result, dan krijg je een error. Die kun je dus wel degelijk laten loggen.

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
tja, maar da's een beetje de verkeerde kant op programmeren lijkt me.
wat je dan doet is de fout zelf niet afvangen, maar iedere foutmelding als gevolg van de fout :? 8)7

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Tsja, dat is het probleem als je geen zin hebt om op een goede manier te programmeren. Dat is verder geheel aan de TS. Ik zou het zelf ook nooit zo doen, ik gebruik altijd een eenvoudige functie query() zodat ik dit soort dingen centraal kan regelen via mijn functie error() ;)

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Als je nu gewoon eens de eerste reply van DiEana bekijkt... daar staat precies wat je nodig hebt. In één of andere include-bestand die je op elke pagina include, zet je die functie.. rest gaat vanzelf :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."

Pagina: 1