id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
187	eaccelerator_put and $ttl	pyro	somebody	"The documentation seems to indicate that $ttl in the call to eaccelerator_put should be the number of seconds until the data should expire.  In the past, I thought that it needed a unix time argument ($ttl+time()).  If I pass a number of seconds, the key is immediately expired.  If I pass a unix time, eaccelerator_list_keys shows each key with a negative ttl.

eAccelerator: 0.9.5
PHP: 5.1.6 pl7 (gentoo), 5.1.6 (suse)
Apache: 2.2.3 (gentoo), 2.2.0 (suse)

test code:
{{{
<?php

    function test($secs, $time, $data) {
        $ttl = $secs;
        ($time === true) && $ttl += time();
        $time = ($time ? 'time' : 'secs');
        echo ""test:$secs:$time returns "" . var_export(eaccelerator_put(""test:$secs:$time"", $data, $ttl), true) . ""\n"";
    }

    $data = serialize(split(' ', 'one two three four five six seven'));

    echo '<pre>';

    test(30, false, $data);
    test(60, false, $data);
    test(90, false, $data);
    test(30, true, $data);
    test(60, true, $data);
    test(90, true, $data);

    $keys = eaccelerator_list_keys();
    usort($keys, create_function('$a,$b', 'return strcmp($a[""name""], $b[""name""]);'));

    echo ""\nname\t\t\tcreated\t\tttl\n"";
    foreach ($keys as $key)
        echo ""{$key['name']}\t\t{$key['created']}\t{$key['ttl']}\n"";

    echo '</pre>';
?>
}}}

Results:
{{{
test:30:secs returns true
test:60:secs returns true
test:90:secs returns true
test:30:time returns true
test:60:time returns true
test:90:time returns true

name			created		ttl
test:30:secs		1160684762	-1
test:30:time		1160684762	-1973597742
test:60:secs		1160684762	-1
test:60:time		1160684762	-1973597712
test:90:secs		1160684762	-1
test:90:time		1160684762	-1973597682
}}}

"	defect	closed	major	0.9.6	eAccelerator	0.9.5	fixed		kmike
