![]() |
PHP Fehler nach Umzug
Hallo,
google hilft mir auch nicht mehr weiter und ich hoffe ihr könnt mir bei folgendem Problem helfen: ich habe mir eine kleine Website gebastelt die auch so funktioniert wie sie soll. Sie liegt momentan noch bei funpic. Ich habe mir nun aber einen vServer gemietet. Darauf läuft apache2. Wenn ich jetzt die Seite auf diesen kopiere bekomme ich beim einloggen immer die Fehlermeldungen: Code:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/ftp_upload/index.php:13) in /var/www/ftp_upload/geschuetzt/login_pruefen.php on line 21 Ich hoffe ihr könnt mir helfen und ich habe euch alle nötigen Informationen gegeben. |
kommst Du an den alten Server noch ran oder kennst einfach so die php version, die dort gelaufen ist ?
hlrt sich danach an als wärst Du jetzt auf einer neueren php version oder in der php.ini jetzt ist etwas deaktiviert, das es vorher nicht war. ein anderer grund können auch zugriffsrechte auf einer datei sein, die du evtl. innerhalb der index.php versuchst zu benutzen. greifst Du auf eine Datei zu also lesen schreiben etc. ? |
Ja ich komm an den alten Server noch ran hier mal ein Aufruf von phpinfo() auf dem alten Server:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] und hier vom neuen: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] index.php selber greift auf keine Datei zu außer die die sie includen soll. In dem Fall die login_pruefen.php greift auf eine Textdatei wobei ich für die Datei testweise mal CHMOD 777 gesetzt habe. |
Die Fehlermeldung besagt, dass Du schon die Headerdaten abgesendet hast und nun versuchst weitere hinzuzufügen.
Warum es auf dem einen Server klappt und auf dem anderen nicht, kann daran liegen, das entweder der Apache bereits einen Handler hat womit er die Daten sendet (was aber eher unwahrscheinlich ist) oder Du einen Fehler im S***** hast und die Header z.B. in der index.php bereits abgesendet hast und nun in der login...php den Header um die Cookie-Einträge zu erweitern versuchst. |
Ja die Header werden schon in index.php gesendet soweit ich das erkennen kann aber auf dem neuen Server sind ja exakt die gleichen Dateien wie auf dem Alten. Hast du oder jemand anders eine Lösung dafür oder muss ich jetzt das ganze Loginskript umbauen?
|
Sende die Headerdaten ab, nachdem Du aus dem Aufruf zur Deiner login_pruefen.php zurückkommst. Das sollte das Problem lösen.
|
Sorry wenn ich mich gerade ein bisschen blöd anstelle aber wie sende ich die Header daten denn am Ende ab? Hier mal meine index.php:
PHP-Code:
|
Überlege mal selbst, wie Du das machen kannst. Ein Webserver gibt immer zu allererst den HTTP-Header aus. In dem Header stehen unter anderem die Cookies, die der Browser setzen soll.
Danach gibt er das eigentliche HTML-Dokument aus. Du sendest jedoch schon die Header, danach ein Teil des HTML-Dokuments und versuchst mit Deiner login-Routine, weitere Header zu setzen, was aber nicht geht. Das heißt, alles was Du im HTTP-Header hinzufügen willst, muss an den Anfang. Und erst danach kommt das HTML-Dokument. |
Ok dann bin ich jetzt genau so weit wie vorher. Ichd achte es gibt irgendeinen Trick das zu umgehen oder so. Ich werde das ganze dann wohl anders lösen müssen. Naja trotzdem danke.
|
das wird zu 95% an dem error_reporting von php liegen. der neue server verhält sich anders als der neue.
probier mal als _erste_ php-anweisung: Code:
error_reporting (22519); // <- der wert vom alten server lt. phpinfo() |
Das dürfte aber sein Problem nicht lösen, dann wird die Fehlermeldung unterdrückt, aber das Cookie dennoch nicht gesendet?
|
Also erstmal danke für deinen Hilfeversuch aber Xalir hat Recht. Der Fehler wird nur unterdrückt und Cookies werden trotzdem nicht gesetzt. Ich hab auch alle möglichen Kombinationen der Befehle ausprobiert.
|
So habs jetzt geschafft. :) Ich hab jetzt einfach die Seiten auf denen cookies gesetzt werden alleine aufgerufen und nicht über die index.php included. Jetzt werden vorher keine Header mehr gesendet und die Cookies werden ordnungsgemäß gesetzt.
Danke nochmal an alle, die mir geholfen haben. Von mir aus kann jetzt hier geschlossen werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.