Oxid CE Cannot modify header information - headers already sent

Hallo,
Ich benutze seit kurzer Zeit die CE in der Version 4.6, und entwickle lokal auf XAMPP, bisher ohne größere Probleme.
Jetzt wollte ich meinen Shop testweise mal hochladen, um ihn zu testen.
Wenn ich nun aber auf den Shop gehe, kommen mehrere php-Fehlermeldungen und der Shop lädt gar nicht erst.
Bis dahin habe ich mir noch nichts gedacht, hätte ja vllt. am Hoster liegen können.
Dann habe ich aber bei meiner lokalen Version den Debug-Modus mal eingeschaltet und auf einmal standen unten die selben Fehlermeldungen.
Also habe ich Oxid unter einem anderem Verzeichniss komplett neu installiert, doch auch da hatte ich die selben Fehlermeldungen.

Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\shop\core\oxoutput.php:201) in D:\xampp\htdocs\shop\core\oxutils.php on line 1205

Der Fehler kann aber eigentlich nicht bei mir liegen, da Oxid beim Check bei allen Einstellungen ein Okay gegeben hat und die Fehlermeldung bei der komplett cleanen Installation auch auftritt.
Ich hoffe ihr könnt mir helfen.
Danke schon mal im Vorraus,
Robin

Stimmen die Dateiberechtigungen (chmod)?

Steht was im Log (/log/exception_log.txt)?

Klingt irgendwie als wollte irgendwas setHeader() aufrufen aber es kommt dabei zu spät. Wenn du nicht im Debug Modus bist kann es sein das die Warnings unterdrückt werden, daher siehst du sie einfach nicht. Eventuell hat dein Hoster seinen Server auch so konfiguriert, das man Scriptseitig Warnings nicht unterdrücken kann (error reporting / display errors setzen), dann siehst du ihn dort eben immer.

Der Fehler ist aber in beiden Instanzen gleich präsent, du solltest mal schauen, eventuell ist das irgend ein Modul oder so. Schalte sie mal der Reihe nach ab und schau, wo die Warning sich dann erledigt hat.

Hallo,

manche FTP-Programme haben die unangenehme Eigenschaft, zusätzliche Leerzeichen am Ende einer Datei zu generieren, wenn diese nicht explizit binär hochgeladen wird. Dann erscheint eine solche Fehlermeldung.

Gruß

Danke schon mal, für eure Antworten.
Die Dateiberechtigungen sind alle so eingestellt, wie hier beschrieben:
http://wiki.oxidforge.org/Installation#Files_.26_Folder_Permission_Setup
Module habe ich auch keine drinnen.
Auf einem komplett neu instaliertem Shop läuft jetzt so weit alles, die Fehlermeldung da lag an einem Bug mit den Debugwerten, der aber anscheinend im Moment überall ist.
Aber mein hochgeladener Shop gibt bei Abruf diese Fehlermeldung aus.

Warning: file_put_contents() [function.file-put-contents]: Filename cannot be empty in /www/htdocs/***/core/oxutils.php on line 1424

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/***/core/oxutils.php:1424) in /www/htdocs/***/core/oxutils.php on line 1119

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/***/core/oxutils.php:1424) in /www/htdocs/***/core/oxutils.php on line 1120

Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/***/core/oxutils.php:1424) in /www/htdocs/***/core/oxutils.php on line 1121

Die Daten wurden entweder lokal bearbeitet, oder über FileZilla im Binärmodus hochgeladen.
Ich hoffe, ihr könnt mir helfen, ich habe nämlich nicht viel Lust, den Shop komplett neu aufzusetzen. :smiley:

Hi,

wie sieht das denn auf Deiner lokalen Umgebung aus, hast Du dort auch diese Fehlermeldungen in irgendeinem Log?

Gruß

Der Fehler ist darauf zurück zu führen:

Warning: file_put_contents() [function.file-put-contents]: Filename cannot be empty in /www/htdocs/***/core/oxutils.php on line 1424

Alles danach passiert weil die Warning ausgespuckt wird und danach versucht wird ein header() zu senden.

D.h. der Fehler tritt beim Schreiben der TMP Datei auf:

Zeile: 1424 in oxutils:
$blRes = file_put_contents($this->getCacheFilePath($sCacheName), $sCache);

Dem Fehler nach liefert $this->getCacheFilePath($sCacheName) keinen sinnvollen Wert oder NULL zurück.

Prüf mal bitte deinen tmp Pfad in der Config auf Schreibfehler, die Schreibrechte des tmp Ordners und dann schau ob du es damit in den Griff bekommst.

Den entsprechenden Wert findest du im Stammverzeichnis in der Datei config.inc.php unter this->sCompileDir.

Da du von einem xampp auf ein Linux Server gewandert bist, schau dir auch mal explizit die Pfade an ob du eventuell / und \ vertauscht hast.

Also vielen Dank für eure Hilfe.
Ich habe den Fehler jetzt glaube ich gefunden, anscheinend hat er ein Problem mit der importierten Datenbank.
Ich habe jetzt in der config.inc.php den Pfad zu einer Datenbank von einer sauberen Installation geleitet und es scheint alles zu funktionieren.
Sorry, dass ihr euch hier so bemüht habt und es im Grunde nur ein Fehler beim Export war.
Aber könnte mir vielleicht nochmal jemand kurz sagen, welche Tabellen exportiert werden müssen, also ich habe alle exportiert, bis auf die oxv_*** Tabellen, weil man die ja im Admin aktualisieren kann.
Muss ich die vielleicht doch mit importieren?
Denn beim Import der ganzen Datenbank spuckt mir phpMyAdmin einen Fehler aus, da ich bei meinem Hoster anscheinend nicht die nötigen Rechte für alles besitze.

nein - die oxv_*** weglassen!

Okay, dass ist merkwürdig, weil anscheinend sucht Oxid aber trotzdem nach den Dateien, auf meiner lokalen Testumgebung kommt, wenn ich die selbe Datenbank nutze, wie die, die ich auch auf den Server geladen habe, dass hier:

2012-08-27 23:28:57exception ‘ADODB_Exception’ with message 'mysql error: [1146: Table ‘oxtest.oxv_oxshops_de’ doesn’t exist] … und so weiter

Also sagt er mir ja, dass es die Tabelle ‘oxv_oxshops_de’ nicht findet, ist ja auch logisch, weil ich sie nicht importiert habe.
Und ja, der tmp-Ordner ist geleert.

Keiner eine Idee, wo der Fehler liegen könnte?

hast du die VIEWS generieren lassen?

Würde ich ja gerne, aber es geht leider gar nichts, dass heißt, der Admin-Bereich kann auch nicht aufgerufen werden.