--TEST-- APC: Bug #63224 error in __sleep whit reference to other classes --SKIPIF-- --CONFLICTS-- server --FILE-- b->f(); return array('b'); } } class B{ const A_CONSTANT = 1; public \$var; public function f(){ \$this->var = self::A_CONSTANT; } } if(isset(\$_SESSION['lalala'])){ echo "
";
	\$a = \$_SESSION['lalala'];
	print_r(\$a);
} else {
	echo "no session yet, first run\n";
}

//	another file
//	class A and B use autoload
\$b = new B();
\$a = new A();
\$a->b = \$b;

\$_SESSION['lalala'] = \$a;
session_write_close();
FL;

$args = array(
	'apc.enabled=1',
	'apc.cache_by_default=1',
	'apc.enable_cli=1',
);

server_start($file, $args);

$sid = md5(uniqid("call me maybe", true));
for ($i = 0; $i < 10; $i++) {
	$send = "GET / HTTP/1.1\n" .
			"Host: " . PHP_CLI_SERVER_HOSTNAME . "\n" .
			"Cookie: PHPSESSID=$sid;" .
			"\r\n\r\n";
	for ($j = 0; $j < $num_servers; $j++) {
		run_test(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT+$j, $send);
	}
}
echo 'done';
--EXPECT--
no session yet, first run
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
A Object
(
    [b] => B Object
        (
            [var] => 1
        )

)
done