| 
<?php
 include_once('APC_handler.class.php');
 
 $start=microtime(true);
 
 $session = new APC_handler();
 
 //    $session->reset();
 //    $session->no_apc();
 //    $session->keep_base_on_restart();
 
 $session->mysql_connect ('host', 'user', 'password');
 $session->mysql_base('temp', 'sessions', 'loggeds');
 $session->expire(5);        // minutes
 $session->keep_free(10);     // MB
 
 $session->set_session_handler();
 
 // get the connection if not want
 // to make more (persistent)
 $mysqli=$session->get_connection();
 
 /**
 // Uncheck to test functionality when system is highly loaded
 // the value 118 change to your settings of max apc shared memory
 // overloading memory may have unexpected results
 
 $MB='';
 for ($i=0; $i<(1024*1024); $i++)    {
 $MB.='a';
 }
 
 for ($i=0; $i<118; $i++)    {
 apc_store("SX$i", $MB, 0);
 }
 **/
 
 session_id(md5('user'));
 
 session_start();
 
 /**
 // uncheck to test copy to base and back
 
 $session->mem2base();
 $session->base2mem();
 **/
 
 $SID=$session->is_logged('user');
 
 if (! $SID)    {
 
 echo '<br>User is not logged (session expired or logged out).';
 $session->login('user');
 }    elseif (($SID) && ($SID!=session_id()))    {
 
 echo "<br>User is logged once with id:$SID.";
 }    else     {
 
 echo "<br>User is logged with current session id.";
 }
 
 if (! isset($_SESSION['check'])) {
 
 echo '<br>Session is expired or first time is created.';
 $_SESSION['check']=1;
 
 }    else    {
 
 echo '<br>Session check passed ($_SESSION[\'check\']='.$_SESSION['check'].').';
 }
 
 // $session->logout('user');
 
 $end=microtime(true);
 
 echo '<br>Session & user login checked in '.round(($end-$start),6) .' s.';
 
 
 //session_destroy();
 
 ?>
 
 |