phpBB 2.0.4 - Cacheproblem

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
TMiegel

phpBB 2.0.4 - Cacheproblem

Beitrag von TMiegel »

Hi!

Ich hab das 2.04 auf RedHat 8.0 laufen, Versionen:
httpd-2.0.40-11
php-4.2.2-8.0.7

Tja, und ich hab das (altbekannte) Problem, daß die Seiten (allen voran die index.php) aus dem Cache geladen werden (sowohl unter IE/Mozilla als auch Win/Linux).

Alle Workarounds die ich dazu hier und auf phpbb.com gefunden haben, beziehen sich allerdings auf phpBB 2.0.3.
Und im Changelog ist angegeben, das dieses Problem eigentlich behoben sein soll.

Wer kann mir sagen, ob ich das Problem durch updaten der Pakete httpd/php lösen kann, oder wie ich den Code von phpBB 2.0.4 so "manipulieren" kann, das es richtig läuft?

Vielen Dank für jegliche Tipps!
Benutzeravatar
esperitox
Mitglied
Beiträge: 803
Registriert: 17.04.2002 21:40
Wohnort: Line 758
Kontaktdaten:

Beitrag von esperitox »

Vieleicht hilft dir das weiter: http://www.phpbb.de/viewtopic.php?p=100188#100188

esperitox
Gast

Beitrag von Gast »

esperitox hat geschrieben:Vieleicht hilft dir das weiter: http://www.phpbb.de/viewtopic.php?p=100188#100188

esperitox
Danke, das hatte ich schon gelesen (und probiert).
Allerdings beziehen sich diese Code-Änderungen auf 2.0.3, die page_header.php sieht in der aktuellen Version anders aus, der Code ist an dieser Stelle von den Entwicklern selbst angepasst worden.
Es wird nun abgefragt ob Apache die Version 2 oder größer hat, und dann in eine if-else-Bedingung verzweigt. Ganz so einfacht läßt sich das also nicht mehr ändern.
cereal86
Mitglied
Beiträge: 8
Registriert: 18.02.2003 13:20

Beitrag von cereal86 »

habe dieses Problem auch auf einem Redhat Linux Server mit Apache und habe auch die obige Problemlösung ausprobiert. Es funktioniert immernoch nicht.
Stage

Beitrag von Stage »

Also bei mir war auch dieses Cache Problem..mein Anbieter hat Apache 2.x laufen...weiß zwar nicht ob RedHat benutz wurde aber ich hab die /includes/page_header.php folgendermaßen modifiziert.

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');
}
else
{
header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');
//header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
Ich hab festgestellt das wenn die index.php geladen wird in der Variable $HTTP_SERVER_VARS['SERVER_SOFTWARE'] nichts drin steht. Hab die mir mal zur Sicherheit mit echo ausgeben lassen. Bei den anderen Seiten (login, profil, u.s.w.) steht der korrekte String "Apache/2 nochwas" drin. Also wird deswegen nur bei der index.php der else-Zweig ausgeführt, der ja dann zu dem Cache Problem führt.

Ich hab dann einfach die header Zeile aus dem if-Zweig in den else-Zweig kopiert und den dort stehenden Headerbefehl auskommentiert.
Ich hoffe die Coder können damit was anfangen. Um dieses Problem endlich auszumerzen.
Stage
Mitglied
Beiträge: 5
Registriert: 06.03.2003 16:57

Beitrag von Stage »

Edit: zum Vorherigen Post..
irgendwie funktioniert das auch nur bei mir mit dem IE...mit Mozilla wird immer noch die Page aus dem Cache genommen.

Edit2: nochmal ein Update :oops: , wenn man alle Header Befehle auskommentiert, dann klappt es auch mit dem Mozilla, und auch weiterhin mit dem IE.

Code: Alles auswählen

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
	//header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0');
}
else
{
	//header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
//header ('Expires: ' . gmdate('D, d M Y H:i:s', time()) . ' GMT');
//header ('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
Benutzeravatar
sid7_xxxx
Mitglied
Beiträge: 21
Registriert: 25.01.2003 02:13

Beitrag von sid7_xxxx »

Code: Alles auswählen

$template->pparse('overall_header');
vor ?> muss aber stehen bleiben?

als ich diese Zeile weggelassen hatte, war das gesamte Layout (Skin) von phpBB verschwunden.

Ach und ich erhalte jetzt immer häufiger die Nachricht:
Du kannst einen Beitrag nicht so schnell nach deinem letzten absenden, bitte warte einen Augenblick.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“