File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / session / tests / session_set_save_handler_variation4.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:01 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: Test session_set_save_handler() function : variation
    3: --SKIPIF--
    4: <?php include('skipif.inc'); ?>
    5: --INI--
    6: session.gc_probability=1
    7: session.gc_divisor=1
    8: session.gc_maxlifetime=0
    9: session.save_path=
   10: session.name=PHPSESSID
   11: --FILE--
   12: <?php
   13: 
   14: ob_start();
   15: 
   16: /* 
   17:  * Prototype : bool session_set_save_handler(callback $open, callback $close, callback $read, callback $write, callback $destroy, callback $gc)
   18:  * Description : Sets user-level session storage functions
   19:  * Source code : ext/session/session.c 
   20:  */
   21: 
   22: echo "*** Testing session_set_save_handler() : variation ***\n";
   23: 
   24: function noisy_gc($maxlifetime) {
   25: 	echo("GC [".$maxlifetime."]\n");
   26: 	gc($maxlifetime);
   27: }
   28: 
   29: require_once "save_handler.inc";
   30: $path = dirname(__FILE__);
   31: session_save_path($path);
   32: session_set_save_handler("open", "close", "read", "write", "destroy", "noisy_gc");
   33: 
   34: session_start();
   35: $_SESSION["Blah"] = "Hello World!";
   36: $_SESSION["Foo"] = FALSE;
   37: $_SESSION["Guff"] = 1234567890;
   38: var_dump($_SESSION);
   39: $session_id = session_id();
   40: var_dump(session_write_close());
   41: 
   42: session_set_save_handler("open", "close", "read", "write", "destroy", "noisy_gc");
   43: session_id($session_id);
   44: session_start();
   45: var_dump($_SESSION);
   46: var_dump(session_destroy());
   47: 
   48: ob_end_flush();
   49: ?>
   50: --EXPECTF--
   51: *** Testing session_set_save_handler() : variation ***
   52: 
   53: Open [%s,PHPSESSID]
   54: Read [%s,%s]
   55: GC [0]
   56: array(3) {
   57:   ["Blah"]=>
   58:   string(12) "Hello World!"
   59:   ["Foo"]=>
   60:   bool(false)
   61:   ["Guff"]=>
   62:   int(1234567890)
   63: }
   64: Write [%s,%s,Blah|s:12:"Hello World!";Foo|b:0;Guff|i:1234567890;]
   65: Close [%s,PHPSESSID]
   66: NULL
   67: Open [%s,PHPSESSID]
   68: Read [%s,%s]
   69: GC [0]
   70: array(3) {
   71:   ["Blah"]=>
   72:   string(12) "Hello World!"
   73:   ["Foo"]=>
   74:   bool(false)
   75:   ["Guff"]=>
   76:   int(1234567890)
   77: }
   78: Destroy [%s,%s]
   79: 
   80: Warning: unlink(%s): No such file or directory in %s on line %d
   81: Close [%s,PHPSESSID]
   82: bool(true)
   83: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>