Seite 1 von 1
phpBB 2.0.4 - Cacheproblem
Verfasst: 22.02.2003 14:09
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!
Verfasst: 22.02.2003 18:57
von esperitox
Verfasst: 22.02.2003 19:21
von Gast
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.
Verfasst: 22.02.2003 21:16
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.
Verfasst: 06.03.2003 16:50
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.
Verfasst: 06.03.2003 16:59
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

, 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');
Verfasst: 12.03.2003 23:33
von sid7_xxxx
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.