1--TEST-- 2Test session_set_save_handler() function : variation 3--INI-- 4session.use_strict_mode=1 5session.gc_probability=1 6session.gc_divisor=1 7session.gc_maxlifetime=0 8session.save_path= 9session.name=PHPSESSID 10session.save_handler=files 11--SKIPIF-- 12<?php include('skipif.inc'); ?> 13--FILE-- 14<?php 15 16ob_start(); 17 18function noisy_gc($maxlifetime) { 19 echo("GC [".$maxlifetime."]\n"); 20 echo gc($maxlifetime)." deleted\n"; 21 return true; 22} 23 24echo "*** Testing session_set_save_handler() : variation ***\n"; 25 26require_once "save_handler.inc"; 27$path = __DIR__; 28var_dump(session_save_path($path)); 29 30echo "*** Without lazy_write ***\n"; 31var_dump(session_set_save_handler("open", "close", "read", "write", "destroy", "noisy_gc", "create_sid", "validate_sid", "update")); 32var_dump(session_start(['lazy_write'=>FALSE])); 33$session_id = session_id(); 34var_dump(session_id()); 35var_dump(session_write_close()); 36var_dump(session_id()); 37 38echo "*** With lazy_write ***\n"; 39var_dump(session_id($session_id)); 40var_dump(session_set_save_handler("open", "close", "read", "write", "destroy", "noisy_gc", "create_sid", "validate_sid", "update")); 41var_dump(session_start(['lazy_write'=>TRUE])); 42var_dump(session_commit()); 43var_dump(session_id()); 44 45echo "*** Cleanup ***\n"; 46var_dump(session_id($session_id)); 47var_dump(session_start()); 48var_dump(session_destroy()); 49 50ob_end_flush(); 51?> 52--EXPECTF-- 53*** Testing session_set_save_handler() : variation *** 54string(0) "" 55*** Without lazy_write *** 56bool(true) 57Open [%s,PHPSESSID] 58CreateID [PHPT-%d] 59Read [%s,PHPT-%d] 60GC [0] 611 deleted 62bool(true) 63string(%d) "PHPT-%d" 64Write [%s,PHPT-%d,] 65Close [%s,PHPSESSID] 66bool(true) 67string(%d) "PHPT-%d" 68*** With lazy_write *** 69string(%d) "PHPT-%d" 70bool(true) 71Open [%s,PHPSESSID] 72ValidateID [%s,PHPT-%d] 73Read [%s,PHPT-%d] 74GC [0] 751 deleted 76bool(true) 77Write [%s,PHPT-%d,] 78Close [%s,PHPSESSID] 79bool(true) 80string(%d) "PHPT-%d" 81*** Cleanup *** 82string(%d) "PHPT-%d" 83Open [%s,PHPSESSID] 84ValidateID [%s,PHPT-%d] 85Read [%s,PHPT-%d] 86GC [0] 871 deleted 88bool(true) 89Destroy [%s,PHPT-%d] 90 91Warning: unlink(%s): No such file or directory in %s on line %d 92Close [%s,PHPSESSID] 93bool(true) 94