Fehlermeldung "Cannot send session cookie"

Das passiert meistens, wenn irgendein File mit dem Windows-Editor notepad.exe modifiziert und dann per FTP hochgeladen worden ist.

Solches tun, unterlässt man besser, denn notepad.exe hat eine ganz gemeine Eigenschaft: Trifft dieser Editor auf ein File, welches UTF-8-codiert ist (Joomla! files sind UTF-8 codiert), fügt er am Anfang des Files - für den ahnungslosen Benutzer unsichtbar - eine sogenannte BOM ein. Das ist ein Byte-Order-Mark, eine Flag, die beschreiben soll, ob das höher- oder das niedrigwertigere Byte eines UTF-16 oder UTF-32 Files an erster Stelle steht. Bei UTF-8 ist das absolut unnötig, aber dummerweise nicht verboten. Nur sollte man dieses Flag tunlichst nicht setzen, weil der Webserver als erstes zu behandeltes Zeichen - beispielsweise wenn eine Session-ID gesendet werden soll - die sich öffnende Klammer einer PHP-Anweisung erwartet. Kommt da was anderes, nämlich ein BOM, schickt der Server einen Header - und kann folglich keinen weiteren Header mit einer Session-ID senden. Darum die Fehlermeldung.

Also: keine Files mit notepad.exe editieren, dafür gibt es bessere Werkzeuge. Notepad++ zum Beispiel.

Eine detaillierte Beschreibung dieses Problems, die viel tiefer geht als dieser Artikel, findet sich bei Joomla-Gerüchte.de .

3.5 Timeline