CodeIgniter v4.5 API

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

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

$matchIP

Match IP addresses for cookies?

protected bool $matchIP = false

$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
throws
SessionException

close()

Closes the current session.

public close() : bool
Return values
bool

destroy()

Destroys a session

public destroy(string $id) : bool
Parameters
$id : string

The session ID being destroyed

Tags
throws
RedisException
Return values
bool

gc()

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
throws
RedisException
Return values
bool

read()

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
throws
RedisException
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
throws
RedisException
Return values
bool

destroyCookie()

Internal method to force removal of a cookie by the client when session_destroy() is called.

protected destroyCookie() : bool
Return values
bool

fail()

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
bool

lockSession()

Acquires an emulated lock.

protected lockSession(string $sessionID) : bool
Parameters
$sessionID : string

Session ID

Tags
throws
RedisException
Return values
bool

releaseLock()

Releases a previously acquired lock

protected releaseLock() : bool
Tags
throws
RedisException
Return values
bool

        
On this page

Search results