At 15:48 08.11.2002, Serge Paquin spoke out and said: --------------------[snip]-------------------- >I get no output at all. > >All DoCache does is write $buffer to a file then return $buffer since I use >this for some other serverside caching to save on database hits. > >I have other areas that I call ob_start("ob_gzhandler") and that works fine >but when I call in via DoCache it breaks. > >I much prefer your idea of mod_deflate. I will look into that since I >believe that belongs in apache rather than a PHP program also. > >I am still curious why it doesn't work though. > >Here is my "True" DoCache function: > >function docache ($buffer) { > $fp=fopen(cachefilename(), "w"); > if($fp) > fputs($fp,$buffer); > > return ob_gzhandler($buffer); >} > >cachefilename() simply returns an MD5 of the requested URI. > >This will return a blank webpage in IE and Mozilla. When I take out >ob_gzhandler it then works fine. --------------------[snip]--------------------
It seems to me your ob_gzhandler is broken... anyway, since PHP 4.0.3 the output callback function has a second parameter called "mode", even if you don't do anythiong with it you should pass it on: function docache ($buffer, $mode) { $fp=fopen(cachefilename(), "w"); if($fp) fputs($fp,$buffer); return ob_gzhandler($buffer, $mode); } But I doubt this would change anything here... ob_gzhandler _should_ return some value. You have some output in the file do you? -- >O Ernest E. Vogelsinger (\) ICQ #13394035 ^ http://www.vogelsinger.at/