Probleme mit "headers already sent"

MsWord

Mitglied
Hallo zusammen,

ich habe folgendes Problem:
Ich habe ein kleines Loginsystem, welches in der index.php die session startet.

Was der Fehler heißt, weiß ich. In der Regel hat man dann z.B. header(); zu spät verwendet.
Bei mir ist es jedoch so, dass die Session an aller erster stelle gestartet wird.

PHP:
<?php

ob_start();

/* Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', 1);

/* Session start */
session_start();

/* Includes */
include('./expand/config.inc.php');     // Included die Config
include('./expand/functions.inc.php');  // Included die Funktionsdatei mit den ganzen Funktionen
include('./expand/run.inc.php');        // Included die Run-Datei mit welcher die Funktionen ausgeführt werden nach bestimmten Bedingungen
ob_flush();
ob_end_clean();

?>
<!DOCTYPE html>
<html>
<head>
[.....]

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /[....]/index.php:1) in/[....]/index.php on line 6

Wo ist der Fehler??
Habe es auch schon mit ob_start() und so probiert, ändert aber nichts....
 
Vor dem Öffnenden Php Tag ist nicht zufällig ein Leerzeichen?

Es kann vielleicht auch sein, das davor ein anderen Zeichen ausgegeben wird, welches nicht wirklich sichtbar ist.
Ein Beispiel wären auch Steuerzeichen.
 
Ne, es ist keinerlei Zeichen davor.
I.d.R. ist das ja ein schnell behobener Fehler, aber da bin ich echt ratlos....
 
Selbst wenn ich alles bis auf den PHP-Teil heraus lösche, bleibt der Fehler bestehen...
Woran kann das liegen?!
 
Die Lösung habe ich nun gefunden, nur den Fehler noch nicht verstanden....
Ich habe nun einfach eine Index von einem alten System genommen und den Content von der alten (kaputten) index.php in die neue hinein kopiert.
Jetzt geht es... Wo lag der Fehler?!
 
Das kann vereinzelt passieren, da war wirklich noch ein Steuerzeichen vor dem öffnenden PHP Tag.
Die können aber so nicht gesehen bzw. gelöscht werden.
Der einfachste Weg ist dann wirklich eine neue Datei erstellen und den Quellcode darein Kopieren.
 
Hast Du Dir die Datei mal mit einem Hex-Editor angeschaut? Der sollte anzeigen, wenn da noch was "unsichtbares" vor dem öffnenden PHP-Tag ist.
 
Zurück