That's not really the answer you might expect, but did you try not compressing out data with PHP, but with Apache ?
This can be done use mod_deflate
.
Couple of things :
- it would mean less calculations for PHP
- it would also mean (and that's the nicest part ;-) ) that your CSS/JS files could be compresses to ; considering the size of those, nowadays, it might not be a bad thing to compress them...
As a sidenote : to help us figure out what's going wrong with the compression by PHP, could you give more informations ? Like the URL of your site (if it's public), and some code ?
EDIT now that we have the URL : http://ego.pestaa.hu/
When I go to that page, the response's headers are as follow :
HTTP/1.x 200 OK
Date: Sat, 01 Aug 2009 21:53:37 GMT
Server: Apache
X-Powered-By: PHP/5.2.6
**Content-Encoding: gzip**
Vary: Accept-Encoding
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
(using firefox 3.5 with LiveHTTPHeaders extension)
The three testing sites you indicated also say that your page is gzipped.
Did you find what the problem was ?
Are you sure this is not something coming from your browser, that would not send the following header in the request :
Accept-Encoding: gzip,deflate
EDIT after other answer
Quote from the comments :
the source of problem probably isn't
my website but my isp/browser/router.
One of them may decompress every
component before it reaches internal
processes.
Oh, if the problem is not your website, I think I totally mis-understood the question -- sorry about that :-( I thought you didn't know how to server gzipped content from your website.
And I think I'm not the only one, btw
If the problem has nothing to do with your website's configuration, then, two possibilities :
- maybe a mis-configuration of firefox ? If you go to
about:config
, what does the network.http.accept-encoding
say ? For me, it's gzip,deflate
- if the problem is coming from your ISP or something like that, there's nothing anyone can do...