_wiewo_ hat geschrieben:hm, workaround?

Bin mir nicht sicher, ob am eAccelerator oder an einem anderen Modul liegt, ist nur eine Vermutung.
Bei einfachen Sachen, wie z. B. in Funktionen, kann man die Verwendung von static Variablen gegen globale Variablen ersetzen. Statische Membervariablen in Klassendeklarationen würde ich nicht anlangen, weil man dann Eingriffe vornimmt, deren Auswirkung nicht abschätzbar ist.
Sollte die Verwendung einer Erweiterung der Grund für die Problematik sein, ist es wohl besser, die Erweiterung zu deaktivieren. Alternativ kannst du versuchen, den Code solange umzubiegen, bis es funktioniert, was erheblich aufwändiger sein könnte.
Da dein Poblem mit der DB zu tun hat, vermute ich, dass es mit der Funktion mr_queryAndNextRecord() in contenido/plugins/mod_rewrite/includes/functions.mod_rewrite.php zusammenhängt. Kannst testweise versuchen, es folgendermaßen zu Ändern:
Code: Alles auswählen
function mr_queryAndNextRecord($query){
$oGlobals = mpGlobals::getInstance();
if (!$db = $oGlobals->get('mr_helper_db')) {
$db = new DB_Contenido();
$oGlobals->set('mr_helper_db', $db);
}
if (!$db->query($query)) {
return null;
}
return ($db->next_record()) ? $db->Record : null;
}
Dann wird keine statische Varible in der Funktion verwendet. Wenn du Pech hast, klappt das aber auch nicht, weil mpGlobals::getInstance() wiederung eine Instanz von mpGlobals liefert, das in einer statischen Membervariablen der Klasse gespeichert wird.
Als letzte Alternative bleibt wohl der Weg zurück zur Verwendung von globalen Variablen:
Code: Alles auswählen
function mr_queryAndNextRecord($query){
if (!isset($GLOBALS['mr_helper_db'])) {
$GLOBALS['mr_helper_db'] = new DB_Contenido();
}
$db = $GLOBALS['mr_helper_db'];
if (!$db->query($query)) {
return null;
}
return ($db->next_record()) ? $db->Record : null;
}
Das erste Beispiel ist performancetechnisch nicht ideal, wobei der Nachteil nicht auffallen würde. Das zweite Beispiel mit GLOBALS mag ich persönlich nicht und versuche davon wegzukommen...
Das löst das Problem in der einen Funktion, nicht aber die anderen Probleme, die auftauchen können.
Gruß
xmurrix