ob_gzhandler - Problem bei neuen Seiten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ob_gzhandler - Problem bei neuen Seiten

    Hallo zusammen,

    ich möchte eine Seite mit hilfe von ob_gzhandler komprimieren und an den Browser senden.

    Die Funktion steht am Anfang eines jeden Scriptes:
    PHP-Code:
    function my_obstart()
    {
      
    $encoding getenv("HTTP_ACCEPT_ENCODING");
        if (
    eregi("gzip",$encoding))
        {
            
    ob_start("ob_gzhandler");
        } else
        {
            
    ob_start();
        }

    Nun mein Problem.
    Ein CM-System rendert Seiten als HTML und legt diese im Filesystem ab. Der Zugriff auf diese Seiten erfolgt mit fopen. Ändere sich nun eine dieser Seiten, sie wird also neu vom CMS erstellt, so erhalte ich immer noch eine alte Version des Files!!
    Auf dem Server liegt aber bereits die neue!!

    Es hat den anschein als würde die Seite auf dem Server gecached werden. Alle versuche den Buffer zu löschen waren ohne erfolg.

    Kann mir jemand was dazu sagen oder hat einen Tipp was ich falsch gemacht habe?

    PHP läuft als CGI

    Gruß
    berni

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

  • #2
    Hmm...Ich würds mit ob_clean(),ob_end_clean(),oder ob_end_flush() probieren.Hast du aber sicherlich schon...
    Hmmm...Irgendwie mysteriös

    Kommentar


    • #3
      mh... wenn die Seite in der neuen Version auf dem Server liegt, liegt es eigentlich nicht am servercache. müßte dann an deinem Browser liegen.

      mal versucht, per header das neuladen der Seite über den HTTP statuscode zu erzwingen ??

      gruss

      Kommentar


      • #4
        hab ich alles schon versucht.

        das kommt gleich nach dem Funktionsaufruf

        header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
        header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Cache-Control: no-cache, must-revalidate");
        header("Pragma: no-cache");

        php-Entwicklung | ebiz-consult.de
        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
        die PHP Marktplatz-Software | ebiz-trader.de

        Kommentar


        • #5
          @Berni: ob_start("ob_gzhandler"); reicht vollkommen ... die macht die Prüfung selbständig ... !
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            würde aber nichts am Problem ändern.

            php-Entwicklung | ebiz-consult.de
            PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
            die PHP Marktplatz-Software | ebiz-trader.de

            Kommentar


            • #7
              Nein ... natürlich nicht ... aber dazu ist mir nix eingefallen ...
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar


              • #8

                ich bin am verzweifeln...

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  An und für sich gibt's keinen Grund für dieses Verhalten (nicht deins sondern das der Funktion) ... die Status-Abfragen werden gecached ... (das kann man mit clearstatcache() zurücksetzen) ... aber meines Wissens nicht die Dateien (außer eventuell von System) ... In dem Falle kann ich mir bestenfalls ein Problem mit der Serverzeit vorstellen ...
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    ich habe die Seite jetzt aml auf einen anderen Server gelegt, da funktioniert alles

                    hmmmm

                    php-Entwicklung | ebiz-consult.de
                    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                    die PHP Marktplatz-Software | ebiz-trader.de

                    Kommentar


                    • #11
                      Original geschrieben von Berni
                      header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
                      Gib es vielleicht in der Anweisung ein Falsches Datum? Les doch mal das Datum aus.
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        ne das stimmt!

                        php-Entwicklung | ebiz-consult.de
                        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                        die PHP Marktplatz-Software | ebiz-trader.de

                        Kommentar


                        • #13
                          Und wenn du das ob_start() ganz weg lässt ? Gehts dann ?

                          Wenn nein, liegts vielleicht an der Config deines Häuptlings.
                          Schau dir mal das Modul mod_expires ( http://httpd.apache.org/docs/mod/mod_expires.html und http://www.drweb.de/projektpflege/caching.shtml ) an oder probier mal folgendes in ner .htaccess (override all erlauben).
                          Header append Cache-Control "public, must-revalidate"
                          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                          © Harald Schmidt

                          Kommentar


                          • #14
                            Berni, geht's jetzt ?
                            [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                            [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                            [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                            © Harald Schmidt

                            Kommentar

                            Lädt...
                            X