PATH:
opt
/
cpanel
/
ea-php71
/
root
/
usr
/
share
/
tests
/
pecl
/
apcu
/
tests
--TEST-- APC: Bug #63224 error in __sleep whit reference to other classes --SKIPIF-- <?php require_once(dirname(__FILE__) . '/skipif.inc'); if (!extension_loaded("session")) die("skip session extension missing"); if (getenv('USE_ZEND_ALLOC') === '0') die("skip not for valgrind"); --FILE-- <?php include "server_test.inc"; $file = <<<FL session_start(); class A{ public \$b; public function __sleep(){ \$this->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 "<pre>"; \$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 <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) <pre>A Object ( [b] => B Object ( [var] => 1 ) ) done
[-] typed_prop.phpt
[edit]
[-] apc_018.phpt
[edit]
[+]
data
[-] apc_099.phpt
[edit]
[-] apc_020.phpt
[edit]
[-] apc_007.phpt
[edit]
[-] ghbug335.phpt
[edit]
[-] bug63224.phpt
[edit]
[-] apcu_sma_info.phpt
[edit]
[-] iterator_002.phpt
[edit]
[+]
..
[-] apc_disabled.phpt
[edit]
[-] apc_015.phpt
[edit]
[-] iterator_003.phpt
[edit]
[-] bug76145.phpt
[edit]
[-] apc_011.phpt
[edit]
[-] apc54_018.phpt
[edit]
[-] apc_004.phpt
[edit]
[-] ghbug176.phpt
[edit]
[-] apc54_014.phpt
[edit]
[-] 023-2.inc
[edit]
[-] apc_inc_perf.phpt
[edit]
[-] apc_005.phpt
[edit]
[-] apc_001.phpt
[edit]
[-] apc_017.phpt
[edit]
[-] iterator_008.phpt
[edit]
[-] sma001.phpt
[edit]
[-] get_included_files_inc2.inc
[edit]
[-] apc_016.phpt
[edit]
[-] apc_021.phpt
[edit]
[-] apc_entry_003.phpt
[edit]
[-] apc_005b.phpt
[edit]
[-] apc_003b.phpt
[edit]
[-] apc_005c.phpt
[edit]
[-] get_included_files_inc1.inc
[edit]
[-] iterator_006.phpt
[edit]
[-] apc_010.phpt
[edit]
[-] iterator_004.phpt
[edit]
[-] apc_023.phpt
[edit]
[+]
bad
[-] apc_002.phpt
[edit]
[-] skipif.inc
[edit]
[-] not_enough_shm.phpt
[edit]
[-] server_test.inc
[edit]
[-] apc_012.phpt
[edit]
[-] iterator_007.phpt
[edit]
[-] apc_entry_002.phpt
[edit]
[-] iterator_001.phpt
[edit]
[-] ghbug248.phpt
[edit]
[-] apc_006_php73.phpt
[edit]
[-] apc_022.phpt
[edit]
[-] ghbug168.phpt
[edit]
[-] iterator_005.phpt
[edit]
[-] apc_019.phpt
[edit]
[-] iterator_010.phpt
[edit]
[-] 024.phpt
[edit]
[-] apc_entry_001.phpt
[edit]
[-] get_included_files_inc3.inc
[edit]
[-] apc_store_reference.phpt
[edit]
[-] apc_008.phpt
[edit]
[-] ghbug185.phpt
[edit]
[-] apc_014_store_ref.phpt
[edit]
[-] apc_024.phpt
[edit]
[-] iterator_009.phpt
[edit]
[-] apc_006.phpt
[edit]
[-] apc_013_exists.phpt
[edit]
[-] ghbug335-fail.phpt
[edit]
[-] ghbug247.phpt
[edit]