RedisHandler
extends BaseHandler
in package
Session handler using Redis for persistence
Table of Contents
Constants
- DEFAULT_PORT = 6379
- DEFAULT_PROTOCOL = 'tcp'
Properties
- $cookieDomain : string
- Cookie domain
- $cookieName : string
- Cookie name to use
- $cookiePath : string
- Cookie path
- $cookiePrefix : string
- Cookie prefix
- $cookieSecure : bool
- Cookie secure?
- $fingerprint : string
- The Data fingerprint.
- $ipAddress : string
- User's IP address.
- $keyExists : bool
- Key exists flag
- $keyPrefix : string
- Key prefix
- $lock : bool|string
- Lock placeholder.
- $lockKey : string|null
- Lock key
- $matchIP : bool
- Match IP addresses for cookies?
- $redis : Redis|null
- phpRedis instance
- $savePath : array<string|int, mixed>|string
- The 'save path' for the session varies between
- $sessionExpiration : int
- Number of seconds until the session ends.
- $sessionID : string|null
- Current session ID
- $lockMaxRetries : int
- Maximum number of lock acquisition attempts.
- $lockRetryInterval : int
- Time (microseconds) to wait if lock cannot be acquired.
Methods
- __construct() : mixed
- close() : bool
- Closes the current session.
- destroy() : bool
- Destroys a session
- gc() : false|int
- Cleans up expired sessions.
- open() : bool
- Re-initialize existing session, or creates a new one.
- read() : false|string
- Reads the session data from the session storage, and returns the results.
- write() : bool
- Writes the session data to the session storage.
- destroyCookie() : bool
- Internal method to force removal of a cookie by the client when session_destroy() is called.
- fail() : bool
- Drivers other than the 'files' one don't (need to) use the session.save_path INI setting, but that leads to confusing error messages emitted by PHP when open() or write() fail, as the message contains session.save_path ... To work around the problem, the drivers will call this method so that the INI is set just in time for the error message to be properly generated.
- lockSession() : bool
- Acquires an emulated lock.
- releaseLock() : bool
- Releases a previously acquired lock
- setSavePath() : void
Constants
DEFAULT_PORT
private
mixed
DEFAULT_PORT
= 6379
DEFAULT_PROTOCOL
private
mixed
DEFAULT_PROTOCOL
= 'tcp'
Properties
$cookieDomain
Cookie domain
protected
string
$cookieDomain
= ''
$cookieName
Cookie name to use
protected
string
$cookieName
$cookiePath
Cookie path
protected
string
$cookiePath
= '/'
$cookiePrefix
Cookie prefix
protected
string
$cookiePrefix
= ''
The Config\Cookie::$prefix setting is completely ignored. See https://codeigniter.com/user_guide/libraries/sessions.html#session-preferences
$cookieSecure
Cookie secure?
protected
bool
$cookieSecure
= false
$fingerprint
The Data fingerprint.
protected
string
$fingerprint
$ipAddress
User's IP address.
protected
string
$ipAddress
$keyExists
Key exists flag
protected
bool
$keyExists
= false
$keyPrefix
Key prefix
protected
string
$keyPrefix
= 'ci_session:'
$lock
Lock placeholder.
protected
bool|string
$lock
= false
$lockKey
Lock key
protected
string|null
$lockKey
$matchIP
Match IP addresses for cookies?
protected
bool
$matchIP
= false
$redis
phpRedis instance
protected
Redis|null
$redis
$savePath
The 'save path' for the session varies between
protected
array<string|int, mixed>|string
$savePath
$sessionExpiration
Number of seconds until the session ends.
protected
int
$sessionExpiration
= 7200
$sessionID
Current session ID
protected
string|null
$sessionID
$lockMaxRetries
Maximum number of lock acquisition attempts.
private
int
$lockMaxRetries
= 300
$lockRetryInterval
Time (microseconds) to wait if lock cannot be acquired.
private
int
$lockRetryInterval
= 100000
Methods
__construct()
public
__construct(Session $config, string $ipAddress) : mixed
Parameters
- $config : Session
- $ipAddress : string
-
User's IP address
Tags
close()
Closes the current session.
public
close() : bool
Return values
booldestroy()
Destroys a session
public
destroy(string $id) : bool
Parameters
- $id : string
-
The session ID being destroyed
Tags
Return values
boolgc()
Cleans up expired sessions.
public
gc(int $max_lifetime) : false|int
Parameters
- $max_lifetime : int
-
Sessions that have not updated for the last max_lifetime seconds will be removed.
Attributes
- #[ReturnTypeWillChange]
Return values
false|int —Returns the number of deleted sessions on success, or false on failure.
open()
Re-initialize existing session, or creates a new one.
public
open(string $path, string $name) : bool
Parameters
- $path : string
-
The path where to store/retrieve the session
- $name : string
-
The session name
Tags
Return values
boolread()
Reads the session data from the session storage, and returns the results.
public
read(string $id) : false|string
Parameters
- $id : string
-
The session ID
Tags
Attributes
- #[ReturnTypeWillChange]
Return values
false|string —Returns an encoded string of the read data. If nothing was read, it must return false.
write()
Writes the session data to the session storage.
public
write(string $id, string $data) : bool
Parameters
- $id : string
-
The session ID
- $data : string
-
The encoded session data
Tags
Return values
booldestroyCookie()
Internal method to force removal of a cookie by the client when session_destroy() is called.
protected
destroyCookie() : bool
Return values
boolfail()
Drivers other than the 'files' one don't (need to) use the session.save_path INI setting, but that leads to confusing error messages emitted by PHP when open() or write() fail, as the message contains session.save_path ... To work around the problem, the drivers will call this method so that the INI is set just in time for the error message to be properly generated.
protected
fail() : bool
Return values
boollockSession()
Acquires an emulated lock.
protected
lockSession(string $sessionID) : bool
Parameters
- $sessionID : string
-
Session ID
Tags
Return values
boolreleaseLock()
Releases a previously acquired lock
protected
releaseLock() : bool
Tags
Return values
boolsetSavePath()
protected
setSavePath() : void