I am getting PHP errors from my cache router engine (wincache) indicating that the TTL can't be negative. It's failing where cache objects like page-???? are being passed in with an $expire value of 1800 (or 30 minutes, which is what cache_lifetime is set to in the Drupal performance settings on my site).
This can be fixed in the wincache and APC engines by checking if $expire is <= 86400 (1 day) before setting $ttl to $expire - time() and if it is, just use the value of $expire as the TTL. Or, should it be defaulting to 0 and the cache flushing functions handle checking cache_lifetime?
Comments
Comment #1
andypostIt seems that each engine should have own fix for that
Comment #2
tauno commentedI put the fix for wincache in my patch in the wincache issue.
I don't have a server using APC right now, so it's possible there isn't an issue there with negative TTL values. Maybe someone else can test that and either update or close this issue.