In PHP intern gibt es verschiedene Schweregrade von Fehlermeldungen. Unterschieden werden diese in die Hauptkategorien Hinweis (E_NOTICE), Warnung (E_WARNING) und schwerwiegender Fehler (E_ERROR).
Das mit der Version 2.1 eingeführte error_reporting = E_ALL zeigte bei mir einige unsauber erstellte Scripte auf. Um Fehler schneller zu finden und nicht das Logfile von IPS durchsuchen zu müssen oder nach dem Neustart der Konsole schnell den Zugriff auf aufgetretende Dinge zu haben, möchte ich hier eine Möglichkeit zeigen dies im Konsolenausgabefenster, Dashbaord oder Webfront zu machen.
Dabei werden alle PHP Fehler in ein Logfile geschrieben. (Nur von PHP erzeugte Fehler!)
[b]1. folgende Einträge in der php.ini Kategorie
hinzufügen:[/b]
log_errors = On
error_log = C:\IP-Symcon_Ver2\error.log
Der IPS Pfad ist natürlich entsprechend anzupassen.
[b]2. PHP Script anlegen+String Variable zur Ausgabe:[/b]
```php
<?
//-------------------------------------- ID´s -------------------------------
$id_log_ausgabe = 12345; //ID der String Variable welche Fehler speichert
//---------------------------------------------------------------------------
$file = IPS_GetKernelDir()."error.log";
$logfile = file_get_contents($file); //Logfile in variable einlesen
SetValueString($id_log_ausgabe, $logfile);
echo $logfile; //Ausgabe in der Konsole
?>
Für die Ausgabe im Dashboard habe ich einfach ein Memofeld benutzt.