Seite 1 von 1

Fehler nach Migration

Verfasst: So 9. Sep 2007, 11:50
von ki7
Hallo,

habe eine Contenido-Installation von einem Server zum anderen umgezogen.
Die beiden Server sind vom Aufbau identisch (Managed Server bei domainfactory)
Habe den Migrations-Assistenten benutzt und die erzeugte config.php auch ins richtige Verzeichnis gespielt (contenido/includes/config.php).

Der Auftritt an sich wird korrekt angezeigt, nur wenn ich über den Browser auf das Backend gehen möchte kommt folgende Fehlermeldung:

Code: Alles auswählen


Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 961

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 967

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 969

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 971

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 973

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 975

Warning: Cannot modify header information - headers already sent by (output started at […]/conlib/db_mysql.inc:863) in […]/conlib/session.inc on line 977

ANMERKUNG: „[…]“ ersetzt den tatsächlichen Serverpfad, möchte den hier nicht publik machen.

in dem Dokumentsession.inc steht an der benannten Stelle:

Code: Alles auswählen


        if ($this->_expires > 0)

        {

        	header("Expires: ". gmdate("D, d M Y H:i:s", $this->_expires) . " GMT");

        } else {

Und hier kommen die Zeilen 961 bis 980:

Code: Alles auswählen


        	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");	

        }

        

        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

        header("Cache-Control:no-store, no-cache, must-revalidate");

        header("Cache-Control: post-check=0, pre-check=0", false);

        header("Cache-control: private, no-cache");

        header("Pragma: no-cache");

        header("ETag: $rand");

        

      break;

Das Loginfenster wird unterhalb der Fehlermeldung angezeigt, Nach dem Login kommt die identische Fehlermeldung, allerdings ohne sonstigen Inhalt auf der Seite.

Kann mir jemand helfen?

Dank und Grüße

Kristian

Verfasst: So 9. Sep 2007, 16:59
von ki7
okay, habe den Fehler selber gefunden: in den files auth.inc, db_mysql.inc, page.inc und session.inc befanden sich hinter dem ?> zwei Leerzeilen. Habe diese gelöscht, nun funzt es wieder.

Keine Ahnung, wie die da hin kamen …

Verfasst: So 9. Sep 2007, 18:07
von HerrB
In vielen Contenido-Dateien finden sich hinter dem ?> leere Zeilen (und ich bin dabei, die auszumerzen).

Das eigentliche Problem entsteht aber durch den Übertragungsvorgang und/oder einen Editor, der verwendet wird. Es kann nämlich sein, dass aus dem CRLF als Zeilenumbruch auf dem Rückweg zwei Zeilenumbrüche werden (habe jetzt nicht im Kopf, ob CR oder LF).

Kann man schön daran erkenne, dass bei Dir immer eine Leerzeile zwischen den Code-Zeilen steht, der Code sollte eigentlich so aussehen:

Code: Alles auswählen

        	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");	
        }
        
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
        header("Cache-Control:no-store, no-cache, must-revalidate");
        header("Cache-Control: post-check=0, pre-check=0", false);
        header("Cache-control: private, no-cache");
        header("Pragma: no-cache");
        header("ETag: $rand");
Wenn dieses Problem auftritt, betrifft das auch alle anderen Dateien und die Fehlermeldung war nur die erste...

Meine Empfehlung: Alle Dateien nochmal hochladen und den Upload überprüfen.

Gruß
HerrB