Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 23. April 2015 09:03

Henk1060
Server-Pate
Registriert: 12. August 2011
Beiträge: 632

[GELÖST] Fehlermeldung Gallery include.php on line 96

Hallo Leute,

Habe diesen Fehler endeckt.
Sobald ich im Modul Gallery Bilder hochladen möchte kommen diese fehler.


Warning: Cannot modify header information - headers already sent by (output started at admin/moduleinterface.php:99) in include.php on line 96

Warning: Cannot modify header information - headers already sent by (output started at admin/moduleinterface.php:99) in include.php on line 99

und die zeilen 99,102,103,109

in der include.php steht das

Zeile: 96  header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
zeile 99 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
zeile 103 header("Cache-Control: post-check=0, pre-check=0", false);


Der normale bild upload läuft ohne problem.

CMS: 1.11.11
Gallery: 2.0.1
PHP version 5.6.7-1~dotdeb.2

Danke für die Tipps wink

Nachtrag: auch wenn ich bei einer seite das template ändern möchte

Beitrag geändert von Henk1060 (23. April 2015 09:48)

Offline

#2 26. April 2015 01:15

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Kannst du testhalber mal mit der PHP-Version runter gehen?

Offline

#3 26. April 2015 12:35

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Ist ein Fehler in CMSms.
Ist in CMSms 1.11.12 bereits behoben.

Nur zur Info: Die Fehlermeldungen von PHP sollte man schon richtig lesen.

Warning: Cannot modify header information - headers already sent ...

Was ist "header information"?
Das sind z.B. Informationen über Kodierung, oder ob es sich um HTML, XML o.ä. handelt, damit der Browser weiß, wie er die nachfolgende Ausgabe verarbeiten soll.

"Cannot modify" - Warum können sie nicht verändert werden?
Spätestens sobald eine Ausgabe erfolgt, werden Header-Informationen an den Browser gesendet. Hat man vorher noch keine Header gesendet, werden standard Header gesendet. Diese standard Header sind je nach Servereinstellung unterschiedlich. I.d.R. ist es sowas wie "Text/HTML".

Sobald die Ausgabe erfolgte, können keine weiteren Header mehr gesendet werden. Weil dann nur noch Daten für die Ausgabe kommen. D.h. der Header-Zug ist dann abgefahren.

Warum werden sie dennoch verändert?

Ein Blick in die include.php sagt uns, dass dort einfach nur ganz regulär die Header an den Browser gesendet werden, die von CMSms auch gesendet werden sollen. Und das wiederum sagt uns, dass der Fehler nicht in der include.php liegt, sondern bereits vorher passiert. Denn diese Zeilen in der include.php müssen sein. An denen ist auch nichts falsch.

Der Fehler liegt darin, dass eben an irgendeiner Stelle im System vor der include.php bereits eine Ausgabe erfolgte, die eigentlich noch garnicht hätte erfolgen dürfen.

Ob die Ausgabe hätte erfolgen dürfen, oder nicht, weiß PHP nicht. Das weiß nur der Entwickler. Daher bemängelt PHP das nachträgliche Ändern der Header in der include.php, sagt aber auch, wo die Ausgabe bereits erfolgte, damit der Entwickler weiß, warum er in der include.php keine Header mehr senden kann:

(output started at admin/moduleinterface.php:99) 

Dort liegt also der Fehler.
Und dort steht:

if (FALSE == empty($params['module_message'])) echo $themeObject->ShowMessage($params['module_message']);
if (FALSE == empty($params['module_error'])) echo $themeObject->ShowErrors($params['module_error']);
include_once("header.php");

Aha!

Es wird also in bestimmten Fällen per "echo" etwas ausgegeben (und somit automatisch Header gesendet) bevor die Datei header.php eingebunden wurde. Und nun rate, was die Datei header.php schon allein dem Namen nach macht wink Sie ruft bereits in der ersten Zeile die Funktion "cms_admin_sendheaders()" auf. Und diese befindet sich in der include.php und soll eben die CMSms Header senden.

Ergo liegt das Problem in der Reihenfolge dieser drei Zeilen in der Datei "/admin/moduleinterface.php". Die Zeile "include_once("header.php");" muss vor die if-Abfrage in Zeile 99.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 27. April 2015 09:53

Henk1060
Server-Pate
Registriert: 12. August 2011
Beiträge: 632

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

@cyberman, leider kann ich die nicht runtersetzten lassen ;( sonst dürfte es auch ohne probleme laufen.

WOW, danke @NAN für die ausführliche beschreibung.
Und jetzt ist auch für mich verständlich.
Die Lösung ist ja denkbar einfach, wenn man es versteht.
Und natürlich hat sich durch die Lösung das Problem behoben.

Jedoch habe ich noch einen Fehler drinnen.
Wenn ich eine Seite ein anderes Template zuweisen möchte.
Kommt wieder der schöne Hinweis zur Include

Wir haben einmal die Sprache auf Kyrilisch umgestellt für die URL.

headers already sent by (output started at lib/replacement.php:1) in include.php on line 96

Jetzt kommt auch die Zeile 109 dazu

echo $themeObject->ShowHeader($modinst->GetFriendlyName(), '', '', 'both').'</div>';

Denke, das spricht die Pretty Url an?

Offline

#5 27. April 2015 12:26

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

headers already sent by (output started at lib/replacement.php:1) in include.php on line 96

Was steht denn in der Datei "/lib/replacement.php" in Zeile 1 ?
Es ist möglich, dass Du da nichts siehst, aber Deine Bemerkung über "kyrillische URLs" sagt mir, dass Du die Datei geändert und möglicherweise mit "falscher" Kodierung gespeichert hast. (Welches Tool verwendest Du für solche Sachen?)

D.h. möglicherweise steht in der ersten Zeile ein für Dich "unsichtbares" Zeichen. Auch "BOM" genannt. Und da das "BOM" immer am Anfang einer Datei steht, steht es auch vor "<?php". Und das wiederum bedeutet, es wird als Ausgabe interpretiert. Danach können keine weiteren Header mehr folgen.

Öffne die Datei mal mit einem Editor wie z.B. Notepad++, jEdit o.ä. Da kann man die Kodierung sowohl beim Speichern als auch beim Laden einstellen. Ich kann Dir jetzt allerdings nicht sagen, was genau Du da einstellen musst. UTF-8 hat bei mir meist immer geholfen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#6 27. April 2015 12:30

Henk1060
Server-Pate
Registriert: 12. August 2011
Beiträge: 632

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Danke für dein Antwort!

Ändere solche sachen immer stinknormalen Editor Notepad.
Also mit UTF-8 ist es bei mir am laufen.

das steht drinnen... nix besonderes

<?php
/**
 * @package CMS
 * @ignore
 */

		$toreplace  = array(
					"Ä","ä","Æ","æ","Ǽ","ǽ","Å","å","Ǻ","ǻ","À","Á","Â","Ã","à","á","â","ã","Ā","ā","Ă","ă","Ą","ą","Ǎ","ǎ","Ạ","Ạ","ạ","Ả","ả","Ấ","ấ","Ầ","ầ","Ẩ","ẩ","Ẫ

Offline

#7 27. April 2015 13:17

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Ändere solche sachen immer stinknormalen Editor Notepad.

Autsch.
Wie änderst Du dann z.B. Zeile 937 ?
Zählst Du die ab?  tongue

Öffne die Datei mal mit Notepad++.
Da gibt es im Menü einen Punkt "Kodierung".
Da kannst Du die Datei in UTF-8 ohne BOM konvertieren.
Und dann achte beim Upload im FTP-Programm auf den Übertragungsmodus BINÄR.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#8 27. April 2015 13:26

Henk1060
Server-Pate
Registriert: 12. August 2011
Beiträge: 632

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Grins ne wink)

Ja das funktioniert!!!
Super danke... etwas seltsam.. da ich bis dato noch nie probleme damit hatte

Offline

#9 28. April 2015 21:32

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Fehlermeldung Gallery include.php on line 96

Ich nehm immer UTF-8 ohne BOM und Unix-Formatierung ...

Offline