class SessionStorageApc
{
/**
* Constructor
*
* @access protected
* @param array $options optional parameters
*/
function __construct()
{
session_set_save_handler(
array($this, 'open'),
array($this, 'close'),
array($this, 'read'),
array($this, 'write'),
array($this, 'destroy'),
array($this, 'gc')
);
}
/**
* Open the SessionHandler backend.
*
* @access public
* @param string $save_path The path to the session object.
* @param string $session_name The name of the session.
* @return boolean True on success, false otherwise.
*/
function open($save_path, $session_name)
{
return true;
}
/**
* Close the SessionHandler backend.
*
* @access public
* @return boolean True on success, false otherwise.
*/
function close()
{
return true;
}
/**
* Read the data for a particular session identifier from the
* SessionHandler backend.
*
* @access public
* @param string $id The session identifier.
* @return string The session data.
*/
function read($id)
{
//$sess_id = 'sess_'.$id;
return (string) apc_fetch('sess_'.$id);
}
/**
* Write session data to the SessionHandler backend.
*
* @access public
* @param string $id The session identifier.
* @param string $session_data The session data.
* @return boolean True on success, false otherwise.
*/
function write($id, $session_data)
{
//$sess_id = 'sess_'.$id;
return apc_store('sess_'.$id, $session_data, ini_get("session.gc_maxlifetime"));
}
/**
* Destroy the data for a particular session identifier in the
* SessionHandler backend.
*
* @access public
* @param string $id The session identifier.
* @return boolean True on success, false otherwise.
*/
function destroy($id)
{
//$sess_id = 'sess_'.$id;
return apc_delete('sess_'.$id);
}
/**
* Garbage collect stale sessions from the SessionHandler backend.
*
* @access public
* @param integer $maxlifetime The maximum age of a session.
* @return boolean True on success, false otherwise.
*/
function gc($maxlifetime)
{
return true;
}
}joomla kütüphanesinden editlenmiştir. Kullanmak için php
APC eklentisi kurulu olmalıdır.
kullanımı çok basittir
new SessionStorageApc;
session_start();