[PHP] ob_gzhandler

Pagina: 1
Acties:

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik probeer mijn bestanden te comprimeren met ob_gzhandler, maar het enige wat er gebeurt is dat OF het bestand wordt gedownload OF ik krijg alleen maar rommel tekens op mijn scherm.

Ik heb het script op 2 servers geprobeerd:

PHP:
1
2
3
4
5
6
7
8
<?
ob_start("ob_gzhandler");
?>
<html>
<body>
<p>This should be a compressed page.
</body>
</html>


Testen: [hier
PHPINFO: hier

PHP is geconfigureerd met --with-zlib.

Ik heb allemaal newsposts gelezen, maar ik kom er niet uit. Misschien is het een dom foutje, maar ik wil het graag werkend hebben.

Iemand een idee?

Ik blijf er iig vrij nuchter onder....


Verwijderd

je hebt niet toevallig mod_gzip in Apache al aan staan?
In je php_info zie ik bij "HTTP Response Headers" staan dat de phpinfo als gzip-geencode verstuurd is....

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik zie in mijn httpd.conf niets staan over een mod_gzip.

Er staat wel dit:
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

Maar volgens mij staat dat er lost van??

Als ik het uitschakel en apache opnieuw start, veranderd er zowieso niets in de phpinfo

Ik blijf er iig vrij nuchter onder....


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Het lijkt er iig niet op dat die gzip compressie al goed werkt zonder ob_gzhandler.
De bestanden zijn op mijn hd net zo groot als in de browser bij properties. Lijkt me dus niet dat er veel gezipt is.

Ik blijf er iig vrij nuchter onder....


  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

Ik neem aan dat je wel aan het eind ob_end_flush(); gedaan hebt? dus:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<?
ob_start("ob_gzhandler");
?>
<html>
<body>
<p>This should be a compressed page.
</body>
</html>
<?
ob_end_flush();
?>

tenminste zo werkt het bij mij altijd wel.

ActueleWind


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 20:27
ob_gezhandler is toch een losse php functie?.

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ik gebruik gewoon het test scriptje van:
http://php.nederland.net/manual/nl/function.ob-gzhandler.php

En met ob_end_flush() werkt het ook niet.

Ik blijf er iig vrij nuchter onder....


  • sjokki
  • Registratie: Juli 2002
  • Niet online
Peidor heeft gelijk, je phpinfo is al gecompressed. Je probeert nu dubbel te compressen.

Headers van je phpinfo:
code:
1
2
3
4
5
6
7
HTTP/1.1 200 OK
Date: Fri, 13 Sep 2002 15:11:09 GMT
Server: Apache/1.3.26 (Unix) PHP/4.2.2
X-Powered-By: PHP/4.2.2
Content-Encoding: gzip
Connection: close
Content-Type: text/html

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ok, maar hoe komt het dat het al gecompressed is?
Ik heb geen mod_gzip, ik heb alles wat met gzip te maken heeft gecomment in de httpd.conf (en gerestart)
En belangrijker, hoe zet ik het uit, want ik wil mijn PHP bestanden ook compressen, en dat doet mod_gzip bijvoorbeeld niet.

En hoe weet ik of mijn andere bestanden ook gecompressed zijn, en niet alleen de phpinfo();

Sjokkie, wat is het commando om die informatie op te vragen?

Ik blijf er iig vrij nuchter onder....


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 22-08 16:45
'zlib.output_compression' = on
zie : http://www.php.net/manual/en/ref.zlib.php

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ja, dat die op ON staat snap ik ook wel, overal staat dat als je ob_gzhandler wil gebruiken dat je dan eerst zlib.ouput_compression = on moet zetten.

Dus dat heb ik gedaan...

Als ik zlib.output_compression = Off zet, dan zegt ie in phpinfo.php niet meer dat de pagina gzipped is bij: HTTP Response Headers

Maar er verandert niets. Als ik het testbestand aanroept, dan wil hij het nog steeds downloaden....

Ik blijf er iig vrij nuchter onder....


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Goed, ik ben nu zover dat met bovenin: ob_start("ob_gzhandler"); hij weer gewoon de pagina laadt, maar volgens mij is het bestand nu helemaal niet gecomprimeerd.

Een bestand dat op mijn hd 67kb is, is in de browser ook 67kb.
Als ik lynx -head url doe, krijg ik dit:

HTTP/1.1 200 OK
Date: Fri, 13 Sep 2002 17:05:03 GMT
Server: Apache/1.3.26 (Unix) PHP/4.2.2
X-Powered-By: PHP/4.2.2
Connection: close
Content-Type: text/html

Als ik in het bestand erbij zet: header("Content-Encoding: gzip");
Dan krijg ik dit ook nog in het overzichtje hierboven te zien, maar er veranderd gewoon niets.

Hoe kan ik nou zien of die pagina gezipt is?

Ik blijf er iig vrij nuchter onder....


  • J3roen
  • Registratie: Januari 2000
  • Niet online

J3roen

Intentionally left blank

zlib.output_compression boolean/integer
Whether to transparently compress pages. If this option is set to "On" in php.ini or the Apache configuration, pages are compressed if the browser sends an "Accept-Encoding: gzip" or "deflate" header. "Content-Encoding: gzip" (respectively "deflate") and "Vary: Accept-Encoding" headers are added to the output.


Kortom, als je dat in je PHP.INI aanzet wordt alles automatisch al compressed verstuurd en is het dus niet nodig in elk script de handler te starten.

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Ok, maar nogmaals: waarom zie ik geen verschil in bestandsgrootte tussen zlib.output_compression = On
en
zlib.output_compression = Off

Er is gewoon geen verschil!

Ik blijf er iig vrij nuchter onder....


  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 17-08 15:34
Nou, blijkbaar is het toch wel gecompressed.

Ik vind het maar vaag...

http://leknor.com/code/gziped.php

Ik blijf er iig vrij nuchter onder....

Pagina: 1