Hi,
I'm trying to make some kind of caching system that first delivers
the old page, and then regenerate the new one "in the background". I
achieved this with register_shutdown_function(). The registered
function starts the real work, the normal php script just delivers
the old page (of course if it were generated into the cahce before).
In the normal part of the program I required only the needed files to
make the cache faster. It worked fine in older releases of php (maybe
4.0.4, 4.0.5 I don't remember), but now 4.0.6 seems to include the
files even if they aren't needed, and it slows down my cache. Without
the requires (I commented out them) it delivers a page in avg
0.04sec, but with the requires it's only 0.25 and it's too much for a
cache.
The requires are called in the registered function, so they shouldn't
affect the normal code. What is more interesting that it depends on
the flow of the registered php code. For example if the page that
should be regenarated is locked by another process and it can't be
regenerated "in the backround" the cache delivers the page fast
(0.04s), but if it's not locked (it can be regenerated) the cache
becomes slow again (0.25s).
So what I don't understand: why the flow of the php code that is
registered with register_shutdown_function affects the normal code's
run? In theory it runs only when the normal code finished and the
connection is released, and doesn't have anything to do with the
normal script (that's why I started to use this method of caching).
(4.1.x is worse in this case because of bug #15209, it doesn't
release the connection while the registered function is running)
Thanks for your help,
Arpi
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php