ProductionErrorHandler: Anzeige PHP-eigener Fehler?

Hierein gehört alles, was in den übrigen Foren keinen Platz findet. // Please post here in case your topic doesn't fit enywhere else.
Antworten
Benutzeravatar
jwlighting
Beiträge: 466
Registriert: 14.07.2010, 14:23:58
Wohnort: LK Oldenburg
Kontaktdaten:

ProductionErrorHandler: Anzeige PHP-eigener Fehler?

Beitrag von jwlighting » 05.01.2013, 16:36:37

Hallo zusammen,

ich habe in meinem Projekt den ProductionErrorHandler wie folgt konfiguriert:

Code: Alles auswählen

// register error handling
if (!preg_match('/localhost/', $_SERVER['SERVER_NAME'])) {
   
   import('core::errorhandler', 'ProductionErrorHandler');
   import('core::exceptionhandler', 'ProductionExceptionHandler');
   
   GlobalErrorHandler::registerErrorHandler(
      new ProductionErrorHandler('/page/error500')
   );
   
   Registry::register('apf::core::exceptionhandler', 'ProductionExceptionRedirectUrl', '/page/error500');
   GlobalExceptionHandler::registerExceptionHandler(
      new ProductionExceptionHandler()
   );
}
 
Provoziere ich einen PHP-eigenen Fehler (Syntax-Error oder nicht definierte Funktion -> alles was nicht von trigger_error() kommt) wird dieser ganz normal angezeigt und nicht zur angegebenen Fehlerseite weitergeleitet.

Ich vermute, dass PHP das Skript (incl. registrierter Error-Handler) ab dem Moment des Auftretens des Fehlers einfach nicht weiter abarbeitet und die Anzeige daher kommt. Sehe ich das richtig?
Ließe sich die Anzeige PHP-eigener Fehler auch unterdrücken und loggen?

Da ich durch die Umstellung der Taglib-Namensgebung mit Fehlern rechne, wäre gerade das Logging sehr wichtig.

LG :)
Jan

Menschen irren - Politiker sind Menschen.
Für den Norddeutschen ist 1kW = 2 Pfund Schlick.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: ProductionErrorHandler: Anzeige PHP-eigener Fehler?

Beitrag von Megger » 07.01.2013, 11:25:17

Je nach Fehler wird das PHP Script ja gar nicht ausgeführt, d.h. wenn du zum Beispiel ein ; oder so vergessen hast, dann kann PHP das Script nicht ausführen und meldet einen Fehler!
Die Anzeige der Fehler kannst du mit display_errors unterdrücken und auch das mitloggen der Fehler kann man einstellen, dies muss man allerdings in der php.ini erlediigen, bzw. per ini_set()
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast