Logs werden nicht angezeigt

nowayback

Well-Known Member
#1
Moinsen,

leider kann ich weder im englischen noch im deutschen Forum etwas dazu finden.

Version: 3.0.3.3

Problem:
1. Wenn ich auf "Überwachung -> Updatestatus anzeigen" sehe ich nur einen grünen Balken, jedoch keinen Inhalt solang es keine Updates gibt. Wenn es Updates gibt, dann ändert sich nur die Farbe des Balkens, aber es gibt immernoch keinen Inhalt.

2. Wenn ich auf "Überwachung -> ISPC Cron-Protokoll anzeigen" gehe, erhalte ich nur einen orange/gelben Balken, aber keinen Inhalt.

Wenn ich in die Datenbank schaue dann finde ich in der Tabelle monitor_data jedoch entsprechende Einträge, die eigentlich angezeigt werden sollten. Das Überprüfen und Reparieren der Tabellen brachte keine Veränderung.

Dann hab ich mir die Einträge mal direkt angeschaut und bin auf den Fehler gestoßen. Jedesmal wenn ein Umlaut in dem Logeintrag vorkommt, dann fehlen alle nachfolgenden Zeichen sowie das abschließende ";}
Die Frage ist nun: Warum? Und wie behebe ich das?

Grüße
nwb
 
Zuletzt bearbeitet:

nowayback

Well-Known Member
#3
Moinsen Till,

ich weiß jetzt nicht ob du die Datenbankeinträge willst oder was anderes. Deshalb poste ich dir jetzt einfach mal so einen Beispieleintrag.

dbispconfig -> monitor_data
Code:
1	log_ispc_cron	1317722101	s:8830:"
W: Fehlschlag beim Holen von http://mirror.hetzner.de/debian/security/dists/squeeze/updates/non-free/i18n/Translation-de.bz2  Verbindung mit mirror.hetzner.de:http nicht m
Weiteres Beispiel, selbe DB und Tabelle:
Code:
1	system_update	1317718824	a:1:{s:6:"output";s:183:"Paketlisten werden gelesen...
Abh

Grüße
nwb
 
Zuletzt bearbeitet:

Till

Administrator
#5
PHP scheint bei Deinem Server ein Problem mit dem serialisieren von Daten zu haben, die deutsche Umlaute enthalten. Dazu kann ich so ohne weiteres Debugging wenig sagen, ist mir aber bisher kein system bekannt, bei dem das schonmal aufgetreten ist. Du kannst es aber trotzdem gerne mal im bugtracker posten, vielleicht kann es jemand reproduzieren.

Eine kurzfristige Lösung könnte sein dass du das Shell locale auf englisch umstellst, wie es bei den meisten Servern sowieso der Fall ist.
 

nowayback

Well-Known Member
#6
Moinsen

Eine kurzfristige Lösung könnte sein dass du das Shell locale auf englisch umstellst, wie es bei den meisten Servern sowieso der Fall ist.
Ja das wäre eine kurzfristige Lösung, die mich aber nicht zufriedenstellt, denn sowas zu behandeln is mMn Softwaresache.

Lösungsidee:
was passiert wenn ich einfach eine weitere Funktion erstelle, einfach so in der Art:

PHP:
function umlaute($txt)
{
$search  = array ('ä', 'ö', 'ü', 'ß');
$replace = array ('ae', 'oe', 'ue', 'ss');
$str  = str_replace($search, $replace, $txt);
return $str;
}
und dann folgenden Code benutze:
PHP:
"'" . $app->dbmaster->quote(serialize(umlaute($data))) . "', " .
anstatt:
PHP:
"'" . $app->dbmaster->quote(serialize($data)) . "', " .
Grüße
nwb
 
Zuletzt bearbeitet:

nowayback

Well-Known Member
#7
hmm ich konnte doch nicht warten und hab es einfach mal getestet und siehe da der DB Eintrag ändert sich und sieht so aus, wie er aussehen sollte:

Code:
			1	system_update	1317931227	a:1:{s:6:"output";s:184:"Paketlisten werden gelesen...
Abhaengigkeitsbaum wird aufgebaut...
Statusinformationen werden eingelesen...
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
";}
Daher nun noch einige Fragen, bevor ich mir das passend reinbastel in dein System:

Werden die serialisierten Daten irgendwo wieder unserialized oder nicht?
Kann ich die Funktion umlaute() so in der monitor_core_module.inc.php drinlassen oder sollte ich die besser in eine separate Datei auslagern und includen? Wenn ich die includen soll, hast du irgendein Pfadprefix in ner Variable den ich dazu nutzen kann?

Grüße und Thx
nwb
 

nowayback

Well-Known Member
#9
Alles klärchen... Danke dir.


** Edit **
geänderte Datei angehängt

Sie muss entpackt werden und gehört dann ins Verzeichnis /usr/local/ispconfig/server/mods-available/ zumindest unter Debian ;)

** Edit Ende **

Grüße
nwb
 

Anhänge

Zuletzt bearbeitet:

Werbung

Top