Probleme bei Sessions und anonymen Benutzern – Drupal

CMS Drupal

Gestern wurden wir im Büro mit einem, für mich, neuem Problem in Drupal konfrontiert: Bei jedem neuen Seitenaufruf hat Drupal die Session komplett geleert. Dieses Phänomen trat aber nur bei nicht eingeloggten Besuchern auf. Ist ein Benutzer eingeloggt, so gibt es keinerlei Probleme. Dieses Verhalten macht einen Warenkorb/Merkzettel völlig unbrauchbar für neue Kunden. Also begann die Suche als erstes in dem Bugtracker von Drupal.

Bei der Suche sind wir auf das Ticket gestoßen:

In my latest application , i am facing a problem that , i can not set cookie for anonymous user. After login the cookie and session is working fine.


Das Ticket war aber der Version 6.15 zugeordnet. Wir haben jedoch 6.22 im Einsatz. Lange Rede kurzer Sinn:
Drupal verwaltet seine Sessions selbst in der Datenbanktabelle „sessions“. Um auch die anonymen Benutzer zu merken, benötigt Drupal einen Benutzer mit der uid 0. Wie und wieso dieser Benutzer plötzlich gelöscht wurde kann ich leider nicht sagen. Fakt ist jedoch, dass das System wieder funktioniert, sobald der Benutzer angelegt wird:

INSERT INTO `users` (`uid`, `name`, `pass`, `mail`, `mode`, `sort`, `threshold`, `theme`, `signature`, `signature_format`, `created`, `access`, `login`, `status`, `timezone`, `language`, `picture`, `init`, `data`) VALUES
(0, '', '', '', 0, 0, 0, '', '', 0, 0, 0, 0, 0, NULL, '', '', '', NULL);
UPDATE `users` SET `uid` = 0 WHERE (`uid` = last_insert_id());

Ich habe einen weiteren Artikel gefunden, der mögliche Stellen im Code nennt, die für das Löschen des Benutzers verantwortlich sein könnten. Dazu sagt Benjamin Melançon, dass bei ihm der Fehler beim Merging der Datenbank gekommen ist.

Ich werde das weiterhin beobachten und schreibe dann sobald die genaue Ursache, in unserem Fall, gefunden wurde.

ALL-INKL.COM