apache probleme mit cache - wie ausschalten?

pleibling

New Member
hallo,

ich habe ein paar php seiten gemacht mit mysql db anbindung. bei mir im netzwerk in meiner testumgebung funktionieren die einwandrei, nur im web nicht.

die software ist eine hausautomation mit einer grafischen oberfläche. wenn eine lampe eingeschaltet wird, dann wird das symbon aktualisiert. der status wird im hintergrund im sekundentakt abgefragt.

habe folgende szenarien:

1) nutzung auf meinem testserver zuhause mit eingeschaltetn ie cache -> funktioniert
2) nutzung auf meinem webserver mit eingeschalteten ie cache -> funktioniert nicht
3) nutzung auf meinem webserver mit ausgeschalteten ie cahce -> funktioniert

ich habe in der antwort php seite schon folgendes drin:

<?php
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
echo("
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<HTML><HEAD>
<META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
<META http-equiv=imagetoolbar content=no>
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=\"no-cache, must-revalidate\">
<meta http-equiv=\"expires\" content=\"0\">
<head>
<title>
</title>
<body>
true
</body>
</html>
");?>

wenn ich mit wget den header prüfe, sehe ich auch das die php anweisung greift, und auch die anweisung an den browser ist drin. dennoch wird der status immer wieder gecacht und ändert sich nicht von true auf false. in der db sehe ich aber das der wert mittlerweile auf false geschaltet wurde.

meine letzte hoffnung ist, das es der cache von meinem webserver ist. die seiten sind absolut identisch, ich tausche nur die adressen bei der abfrage aus.

könnt ihr mir helfen? habt ihr eine idee? bringt das abschalten des cahces etwas und wie geht das?

danke für eure hilfe ...
 
Der Apache cached nicht außer mod_cache ist aktiviert. (Meistens aber nicht.) Du hast vielleicht ein PHP-Accelerator drin. Der könnte Cachen. (Tun die meisten aber auch nicht.)
Für Apache gibt es noch das Modul mod_expires. Das macht aber auch nix anderes als den Header "Cache-Control" zu setzten.

Tip von mir: IE einfach auf das Symbol mit der Mülltonne ziehen und Firefox installieren!

huschi.
 
danke für den tip, ich selber nutze auch fast nur noch den firefox, doch das backend der db ist ein vista mediacenter plugin (meine hausautomation), und das nutzt nun mal zum rendern den ie.
 
Dann macht anscheinend das Plugin den Fehler. Denn mehr als jedesmal sämtliche Einstellung für "no caching" raus zu geben, kann ein Server nicht tun.

Du hast natürlich anhand der Logfiles schon nachgesehen, ob der Client wirklich ständig am Server anfragt, oder?

PS: Lese Deine PM's!

huschi.
 
Back
Top