Lebensweisheit: libapache2-mod-php5filter und gzip mögen sich nicht

Um die GeoIP Extension für PHP auszuprobieren, installierte ich sie mir heute kurzerhand auf einem meiner Server. Auf Ubuntu- und Debian-Systemen geht das relativ einfach, ein

genügt dort, da alles nötige in den Paketquellen vorhanden ist.

Nun hatte ich das Problem, dass einige Seiten, die auf demselben Server gehostet waren, nicht richtig oder gar nicht angezeigt wurden. Das äußerte sich in der Form, dass in Google Chrome zwar der Seitentitel in der Browserleiste und als Tab-Überschrift angezeigt wurde, die Seite selbst aber nicht zu sehen war.
Deshalb schaute ich mir mal die übertragen Header in den Entwickler-Tools an:

HTTP-Header: GZIP und chunked sind keine gute Mischung

HTTP-Header: GZIP und chunked sind keine gute Mischung

Und siehe da - da passt etwas so gar nicht. Mein Client (in diesem Fall) möchte gerne gzip. Und der Webserver antwortet mit einem chunked Transfer-Encoding.  "Chunked" bedeutet hier, dass alle Daten vom Server häppchenweise gesendet werden, die dann der Browser wieder zusammensetzen muss. Das funktioniert aber nicht mit GZIP. Denn GZIP ist eine Komprimierungsmethode, die vom Webserver (komprimieren) und Client (wieder auseinandernehmen) angewandt wird, um Daten schneller über die Leitung zu bekommen. Und das funktioniert bei einer "gechunkten" Antwort eben nicht.

Ich fand schließlich heraus, dass bei der Installation von php5-dev auch libapache2-mod-php5filter mitinstalliert wird. Und genau diese Bibliothek ist für das Chunken verantwortlich.

libapache2-mod-php5 installieren

Die einfachste Lösung, libapache2-mod-php5filter wieder loszuwerden, ist folgende: Man installiert einfach libapache2-mod-php5 mit

drüber. Dabei wird sie automatisch entfernt. Danach muss man nur noch seinen Webserver mit

neustarten und schon läuft wieder alles. Sollte das nicht der Fall sein (bspw. wenn man PHP-Skripte heruntergeladen bekommt anstatt sie ausgefürt und angezeigt zu bekommen), ist noch ein

erforderlich, um PHP wieder zu aktivieren. Verwendet man eine eigens angepasste php.ini, sollte man außerdem sicherstellen, dass diese auch funktioniert.

Und schon tut wieder alles! 🙂


[ratings]

Dieser Artikel wurde geschrieben von...

Sebastian Fuhrmann – ( weitere Posts auf Sebastians Blog)
Sebastian. "Weltmetropole" Hemsbach. Informatik-Student. Blogger seit 2011. Twitter | Google+ | Facebook

Email  • Google + • Facebook  • Twitter

Teile diesen Artikel

Ähnliche Artikel

Hinterlasse eine Antwort

© 2010-2017 Sebastians Blog. Alle Rechte vorbehalten. Administration · Artikel als RSS · Kommentare als RSS
Powered by WordPress · Designed by Theme Junkie