Ron: !!! PHP-Spezialist gesucht. Content-Lenght-Problem

Beitrag lesen

Hi,

Heyho.

Angemeldete Benutzer haben hier die Möglichkeit, den Thread Titel zu ändern. Das wäre für meine Begriffe jetzt angebracht, um einen Zusatz á la "PHP Profi gesucht" einzubauen. Leider bin ich nicht registriert :-(
Alternativ könntest Du einen neuen Post aufmachen, der wird dann aber in kurzer Zeit als Doppelposting gesperrt werden :-(

Dachte ich auch schon drüber nach, einen Threat auf zumachen. Dann werde ich aber erst mal den Titel ändern. Denn ich befürchte auch das das als Crossposting gesehen wird. Kann ich ja später noch machen. Danke dir aber auch für deine Mühen...

Für alle die hier neu lesen!
Problem ist, das meine Content-Lenght bei einem Seitenaufruf zu 90% zu klein ist und deshalb das letzte Stück vom Quelltext fehlt. Seite ist auf einem russischen Server, PHP-CMS, Zeichenkodirung UTF-8, Datenbnak wurde über 2 Server hinweg ex- und importiert. Nach anfänglichen Problemen funktioniert die Ausgabe der Sonderzeichen mit UTF-8. Doch eben noch dieses Problem mit dem Content-Lenght besteht. War übrigens schon vor dem Kodierungswechsel der Fall.

CMS ist ein kommerzielles und nicht zum ersten mal im Einsatz. Probleme gab es in der Art noch nicht damit.

Beispielseite: HierL

Der Server gibt den ja aus und nicht ich?
Das stimmt so nicht. Wenn wir sagen: Ich habe einen Apache am laufen und fordere die statische Ressource test.gif / test.html an, dann ja. Dann gibt Apache den Content-Length Header aus.
Bei einer dynamischen Ausgabe hingegen, also z.B. durch dein PHP Script sieht das womöglich schon anders aus. Ich bin Perlianer, da liegt es in meiner Verantwortung die Angabe korrekt zu bestimmen und auszugeben.
Als "ich mach alles automatisch Sprache" ist das bei PHP womöglich anders. Evtl. gibt es hier per Default registrierte Handler, die Dir den Job abnehmen. ABER: Ich habe keinen Plan von PHP :-(

Hmmm. Jedenfalls wird die Content-Lenght immer übermittelt.
Mit allen Tools und Headerprüfseiten im Netz.
(Habe abr entdeckt, das nicht auf allen Ausgabeseiten. Obwohl das selbe CMS, selbe Rubriken etc. nur Artikelanzahl unterschiedlich...)

Genauso wäre es möglich, dass das von Dir verwendete CMS einen Bug hat, und als Content-Length schlicht die Anzahl der Zeichen sendet und nicht, wie es sich gehört, den Bytecount. Da Du ja nun UTF8 verwendest, kracht es.

Ich hätte jetzt eher darauf getippt, das der Server da was falsch ermittelt und nicht PHP. Wobei ich mir vorstellen könnte, das das irgendwie mit den Datenbankeinträgen zu tun hat. Keine Ahnung...

Aber, das was du vorgeschlagen hattest, hat nicht funktioniert.
Hast Du, z.B. mit dem von Dir erwähntem Firebug, sicher verifiziert, ob durch die Anpassung des PHP Scripts auch tatsächlich ein größerer Wert für den Content-Length Header beim Client ankommt?

Ne, das ist es ja, er bleibt immer gleich. Egal was ich für eine Zahl eintrage. O.k. jetzt habe ich noch ein bisschen damit gespielt und folgendes festgestellt.
Ich habe also die Zeile
header("Content-Length: 2009");
in das übergeordnete Template gesetzt, so dass wenn das CMS eine Seite ausgibt, zu allererst der Code ausgeführt wird. Das komische ist aber, das der Code auf der Beispielseite nicht greift. Der findet einfach keine Beachtung. Auf anderen Seiten aber doch. Geb ich dann z.B. 99999, eine große Zahl ein, größer als die Datei, bleibt die Maus ewig auf Ladevorgang.

Der PHP-Header-Code-Teil wird nur auf manchen Seiten beachtet. Dann habe ich gesehen, das gar nicht immer der Content-Lenght ausgegeben wird. Auf manchen Seiten nicht, dann aber auch konsequent. Es ist auch nicht Rubrik abhängig. In ein und der selben Rubrik, mit z.B. 21 Artikel, werden, wenn pro Ausgabeseite 5 Artikel eingestellt ist, nur die letzte mit einem Artikel falsch angezeigt. Und dort auch nur der Wert übermittelt.
Alles sehr merkwürdig.

Vielleicht kann mir jemand anderes helfen und sich das mal wirklich anschauen. Das bringt mich langsam zur Verzweiflung...
Ich lasse auch ein bisschen Geld springen wenn mir jemand wirklich helfen kann.
Vielleicht ist ja auf dem Server auch was falsch eingestellt?
Aber das ist ein Massenhoster in Russland, deshalb denke ich, das der Fehler eher nicht bei denen liegt, sonst hätten sich ja schon andere beschwert...

Gruß Ron

Grüße