php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
session.c File Reference
#include "php.h"
#include <sys/time.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "php_ini.h"
#include "rfc1867.h"
#include "php_variables.h"
#include "php_session.h"
#include "session_arginfo.h"
#include "ext/standard/php_var.h"
#include "ext/date/php_date.h"
#include "ext/standard/url_scanner_ex.h"
#include "ext/standard/info.h"
#include "zend_smart_str.h"
#include "ext/standard/url.h"
#include "ext/standard/basic_functions.h"
#include "ext/standard/head.h"
#include "ext/random/php_random.h"
#include "ext/random/php_random_csprng.h"
#include "mod_files.h"
#include "mod_user.h"

Go to the source code of this file.

Data Structures

struct  php_session_cache_limiter_t
 

Macros

#define PS_MAX_SID_LENGTH   256
 
#define IF_SESSION_VARS()
 
#define SESSION_CHECK_ACTIVE_STATE
 
#define SESSION_CHECK_OUTPUT_STATE
 
#define SESSION_FORBIDDEN_CHARS   "=,;.[ \t\r\n\013\014"
 
#define SESSION_FORBIDDEN_CHARS_FOR_ERROR_MSG   "=,;.[ \\t\\r\\n\\013\\014"
 
#define APPLY_TRANS_SID   (PS(use_trans_sid) && !PS(use_only_cookies))
 
#define PS_BIN_NR_OF_BITS   8
 
#define PS_BIN_UNDEF   (1<<(PS_BIN_NR_OF_BITS-1))
 
#define PS_BIN_MAX   (PS_BIN_UNDEF-1)
 
#define PS_DELIMITER   '|'
 
#define MAX_SERIALIZERS   32
 
#define PREDEFINED_SERIALIZERS   3
 
#define MAX_MODULES   32
 
#define PREDEFINED_MODULES   2
 
#define CACHE_LIMITER(name)
 
#define CACHE_LIMITER_FUNC(name)
 
#define CACHE_LIMITER_ENTRY(name)
 
#define ADD_HEADER(a)
 
#define MAX_STR   512
 
#define LAST_MODIFIED   "Last-Modified: "
 
#define EXPIRES   "Expires: "
 
#define SESSION_RELEASE_USER_HANDLER_OO(struct_name)
 
#define SESSION_SET_USER_HANDLER_OO(struct_name, zstr_method_name)
 
#define SESSION_SET_USER_HANDLER_OO_MANDATORY(struct_name, method_name)
 
#define SESSION_SET_USER_HANDLER_PROCEDURAL(struct_name, fci)
 
#define SESSION_SET_USER_HANDLER_PROCEDURAL_OPTIONAL(struct_name, fci)
 
#define SESSION_FREE_USER_HANDLER(struct_name)
 

Functions

PHPAPI ZEND_DECLARE_MODULE_GLOBALS (ps)
 
PHPAPI zend_result php_session_destroy (void)
 
PHPAPI void php_add_session_var (zend_string *name)
 
PHPAPI zvalphp_set_session_var (zend_string *name, zval *state_val, php_unserialize_data_t *var_hash)
 
PHPAPI zvalphp_get_session_var (zend_string *name)
 
PHPAPI zvalphp_get_session_var_str (const char *name, size_t name_len)
 
PHPAPI zend_stringphp_session_create_id (PS_CREATE_SID_ARGS)
 
PHPAPI zend_result php_session_valid_key (const char *key)
 
 STD_PHP_INI_BOOLEAN ("session.upload_progress.enabled", "1", ZEND_INI_PERDIR, OnUpdateBool, rfc1867_enabled, php_ps_globals, ps_globals)
 
 PHP_VAR_UNSERIALIZE_INIT (var_hash)
 
 PHP_VAR_UNSERIALIZE_DESTROY (var_hash)
 
 if (!result)
 
 if (!Z_ISUNDEF(PS(http_session_vars)))
 
 if (Z_TYPE(session_vars)==IS_NULL)
 
ZVAL_NEW_REFPS (http_session_vars), &session_vars
 
zend_hash_update_indEG (symbol_table), var_name, &PS(http_session_vars)
 
 zend_string_release_ex (var_name, 0)
 
 PHP_VAR_SERIALIZE_INIT (var_hash)
 
 PS_ENCODE_LOOP (if(ZSTR_LEN(key) > PS_BIN_MAX) continue;smart_str_appendc(&buf,(unsigned char) ZSTR_LEN(key));smart_str_appendl(&buf, ZSTR_VAL(key), ZSTR_LEN(key));php_var_serialize(&buf, struc, &var_hash);)
 
 PHP_VAR_SERIALIZE_DESTROY (var_hash)
 
 for (p=val;p< endptr;)
 
 PS_ENCODE_LOOP (smart_str_appendl(&buf, ZSTR_VAL(key), ZSTR_LEN(key));if(memchr(ZSTR_VAL(key), PS_DELIMITER, ZSTR_LEN(key))) { PHP_VAR_SERIALIZE_DESTROY(var_hash);smart_str_free(&buf);fail=true;break;} smart_str_appendc(&buf, PS_DELIMITER);php_var_serialize(&buf, struc, &var_hash);)
 
 if (fail)
 
 while (p< endptr)
 
PHPAPI zend_result php_session_register_serializer (const char *name, zend_string *(*encode)(PS_SERIALIZER_ENCODE_ARGS), zend_result(*decode)(PS_SERIALIZER_DECODE_ARGS))
 
PHPAPI zend_result php_session_register_module (const ps_module *ptr)
 
PHPAPI zend_result php_session_validate_sid (PS_VALIDATE_SID_ARGS)
 
PHPAPI zend_result php_session_update_timestamp (PS_UPDATE_TIMESTAMP_ARGS)
 
 memcpy (buf, EXPIRES, sizeof(EXPIRES) - 1)
 
 strcpy_gmt (buf+sizeof(EXPIRES) - 1, &now)
 
 ADD_HEADER (buf)
 
 snprintf (buf, sizeof(buf), "Cache-Control: public, max-age=" ZEND_LONG_FMT, PS(cache_expire) *60)
 
CACHE_LIMITER private_no_expire ()
 
 ADD_HEADER ("Cache-Control: no-store, no-cache, must-revalidate")
 
 ADD_HEADER ("Pragma: no-cache")
 
PHPAPI const ps_module_php_find_ps_module (const char *name)
 
PHPAPI const ps_serializer_php_find_ps_serializer (const char *name)
 
PHPAPI zend_result php_session_reset_id (void)
 
PHPAPI zend_result php_session_start (void)
 
PHPAPI zend_result php_session_flush (int write)
 
PHPAPI php_session_status php_get_session_status (void)
 
PHPAPI void session_adapt_url (const char *url, size_t url_len, char **new_url, size_t *new_len)
 
 PHP_FUNCTION (session_set_cookie_params)
 
 PHP_FUNCTION (session_get_cookie_params)
 
 PHP_FUNCTION (session_name)
 
 PHP_FUNCTION (session_module_name)
 
 PHP_FUNCTION (session_set_save_handler)
 
 PHP_FUNCTION (session_save_path)
 
 PHP_FUNCTION (session_id)
 
 PHP_FUNCTION (session_regenerate_id)
 
 PHP_FUNCTION (session_create_id)
 
 PHP_FUNCTION (session_cache_limiter)
 
 PHP_FUNCTION (session_cache_expire)
 
 PHP_FUNCTION (session_encode)
 
 PHP_FUNCTION (session_decode)
 
 PHP_FUNCTION (session_start)
 
 PHP_FUNCTION (session_destroy)
 
 PHP_FUNCTION (session_unset)
 
 PHP_FUNCTION (session_gc)
 
 PHP_FUNCTION (session_write_close)
 
 PHP_FUNCTION (session_abort)
 
 PHP_FUNCTION (session_reset)
 
 PHP_FUNCTION (session_status)
 
 PHP_FUNCTION (session_register_shutdown)
 

Variables

zval session_vars
 
php_unserialize_data_t var_hash
 
bool result
 
zend_stringvar_name = ZSTR_INIT_LITERAL("_SESSION", 0)
 
return result !vallen SUCCESS
 
 PS_ENCODE_VARS
 
smart_str_0 & buf
 
return buf s
 
const char * endptr = val + vallen
 
zend_stringname
 
zvalcurrent
 
zval rv
 
bool fail = false
 
ptrdiff_t namelen
 
zend_result retval = SUCCESS
 
 p = val
 
break_outer_loop __pad0__
 
struct timeval tv
 
time_t now = tv.tv_sec + PS(cache_expire) * 60
 
zend_module_entry session_module_entry
 

Macro Definition Documentation

◆ ADD_HEADER

#define ADD_HEADER ( a)
Value:
#define sapi_add_header(a, b, c)
Definition SAPI.h:204
$obj a
Definition test.php:84
strlen(string $string)

Definition at line 1221 of file session.c.

◆ APPLY_TRANS_SID

#define APPLY_TRANS_SID   (PS(use_trans_sid) && !PS(use_only_cookies))

◆ CACHE_LIMITER

#define CACHE_LIMITER ( name)
Value:
_php_cache_limiter_##name
zend_string * name

Definition at line 1218 of file session.c.

◆ CACHE_LIMITER_ENTRY

#define CACHE_LIMITER_ENTRY ( name)
Value:
#define CACHE_LIMITER(name)
Definition session.c:1218

Definition at line 1220 of file session.c.

◆ CACHE_LIMITER_FUNC

#define CACHE_LIMITER_FUNC ( name)
Value:
static void CACHE_LIMITER(name)(void)
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)

Definition at line 1219 of file session.c.

◆ EXPIRES

#define EXPIRES   "Expires: "

Definition at line 1276 of file session.c.

◆ IF_SESSION_VARS

#define IF_SESSION_VARS ( )
Value:
if (Z_ISREF_P(&PS(http_session_vars)) && Z_TYPE_P(Z_REFVAL(PS(http_session_vars))) == IS_ARRAY)
#define PS(v)
#define Z_TYPE_P(zval_p)
Definition zend_types.h:660
#define Z_ISREF_P(zval_p)
Definition zend_types.h:954
#define IS_ARRAY
Definition zend_types.h:607
#define Z_REFVAL(zval)

◆ LAST_MODIFIED

#define LAST_MODIFIED   "Last-Modified: "

◆ MAX_MODULES

#define MAX_MODULES   32

Definition at line 1173 of file session.c.

◆ MAX_SERIALIZERS

#define MAX_SERIALIZERS   32

Definition at line 1142 of file session.c.

◆ MAX_STR

#define MAX_STR   512

Definition at line 1222 of file session.c.

◆ PREDEFINED_MODULES

#define PREDEFINED_MODULES   2

Definition at line 1174 of file session.c.

◆ PREDEFINED_SERIALIZERS

#define PREDEFINED_SERIALIZERS   3

Definition at line 1143 of file session.c.

◆ PS_BIN_MAX

#define PS_BIN_MAX   (PS_BIN_UNDEF-1)

Definition at line 994 of file session.c.

◆ PS_BIN_NR_OF_BITS

#define PS_BIN_NR_OF_BITS   8

Definition at line 992 of file session.c.

◆ PS_BIN_UNDEF

#define PS_BIN_UNDEF   (1<<(PS_BIN_NR_OF_BITS-1))

Definition at line 993 of file session.c.

◆ PS_DELIMITER

#define PS_DELIMITER   '|'

Definition at line 1059 of file session.c.

◆ PS_MAX_SID_LENGTH

#define PS_MAX_SID_LENGTH   256

◆ SESSION_CHECK_ACTIVE_STATE

#define SESSION_CHECK_ACTIVE_STATE
Value:
php_error_docref(NULL, E_WARNING, "Session ini settings cannot be changed when a session is active"); \
return FAILURE; \
}
#define NULL
Definition gdcache.h:45
@ php_session_active
session_status()
#define E_WARNING
Definition zend_errors.h:24
@ FAILURE
Definition zend_types.h:61

◆ SESSION_CHECK_OUTPUT_STATE

#define SESSION_CHECK_OUTPUT_STATE
Value:
php_error_docref(NULL, E_WARNING, "Session ini settings cannot be changed after headers have already been sent"); \
return FAILURE; \
}
#define SG(v)
Definition SAPI.h:160
headers_sent(&$filename=null, &$line=null)
#define ZEND_INI_STAGE_DEACTIVATE
Definition zend_ini.h:230

◆ SESSION_FORBIDDEN_CHARS

#define SESSION_FORBIDDEN_CHARS   "=,;.[ \t\r\n\013\014"

◆ SESSION_FORBIDDEN_CHARS_FOR_ERROR_MSG

#define SESSION_FORBIDDEN_CHARS_FOR_ERROR_MSG   "=,;.[ \\t\\r\\n\\013\\014"

◆ SESSION_FREE_USER_HANDLER

#define SESSION_FREE_USER_HANDLER ( struct_name)
Value:
if (!Z_ISUNDEF(PS(mod_user_names).struct_name)) { \
zval_ptr_dtor(&PS(mod_user_names).struct_name); \
ZVAL_UNDEF(&PS(mod_user_names).struct_name); \
}
#define Z_ISUNDEF(zval)
Definition zend_types.h:956

Definition at line 2918 of file session.c.

◆ SESSION_RELEASE_USER_HANDLER_OO

#define SESSION_RELEASE_USER_HANDLER_OO ( struct_name)
Value:
if (!Z_ISUNDEF(PS(mod_user_names).struct_name)) { \
zval_ptr_dtor(&PS(mod_user_names).struct_name); \
ZVAL_UNDEF(&PS(mod_user_names).struct_name); \
}

Definition at line 2077 of file session.c.

◆ SESSION_SET_USER_HANDLER_OO

#define SESSION_SET_USER_HANDLER_OO ( struct_name,
zstr_method_name )
Value:
array_init_size(&PS(mod_user_names).struct_name, 2); \
Z_ADDREF_P(obj); \
add_next_index_zval(&PS(mod_user_names).struct_name, obj); \
add_next_index_str(&PS(mod_user_names).struct_name, zstr_method_name);
#define array_init_size(arg, size)
Definition zend_API.h:538

Definition at line 2083 of file session.c.

◆ SESSION_SET_USER_HANDLER_OO_MANDATORY

#define SESSION_SET_USER_HANDLER_OO_MANDATORY ( struct_name,
method_name )
Value:
if (!Z_ISUNDEF(PS(mod_user_names).struct_name)) { \
zval_ptr_dtor(&PS(mod_user_names).struct_name); \
} \
array_init_size(&PS(mod_user_names).struct_name, 2); \
Z_ADDREF_P(obj); \
add_next_index_zval(&PS(mod_user_names).struct_name, obj); \
add_next_index_str(&PS(mod_user_names).struct_name, zend_string_init(method_name, strlen(method_name), false));

Definition at line 2089 of file session.c.

◆ SESSION_SET_USER_HANDLER_PROCEDURAL

#define SESSION_SET_USER_HANDLER_PROCEDURAL ( struct_name,
fci )
Value:
if (!Z_ISUNDEF(PS(mod_user_names).struct_name)) { \
zval_ptr_dtor(&PS(mod_user_names).struct_name); \
} \
ZVAL_COPY(&PS(mod_user_names).struct_name, &fci.function_name);

Definition at line 2098 of file session.c.

◆ SESSION_SET_USER_HANDLER_PROCEDURAL_OPTIONAL

#define SESSION_SET_USER_HANDLER_PROCEDURAL_OPTIONAL ( struct_name,
fci )
Value:
if (ZEND_FCI_INITIALIZED(fci)) { \
SESSION_SET_USER_HANDLER_PROCEDURAL(struct_name, fci); \
}
#define ZEND_FCI_INITIALIZED(fci)
Definition zend_API.h:340

Definition at line 2104 of file session.c.

Function Documentation

◆ _php_find_ps_module()

PHPAPI const ps_module * _php_find_ps_module ( const char * name)

Definition at line 1495 of file session.c.

◆ _php_find_ps_serializer()

PHPAPI const ps_serializer * _php_find_ps_serializer ( const char * name)

Definition at line 1511 of file session.c.

◆ ADD_HEADER() [1/3]

ADD_HEADER ( "Cache-Control: no- store,
no- cache,
must-revalidate"  )

◆ ADD_HEADER() [2/3]

ADD_HEADER ( "Pragma: no-cache" )

◆ ADD_HEADER() [3/3]

ADD_HEADER ( buf )

◆ EG()

zend_hash_update_ind & EG ( symbol_table ) &

◆ for()

for ( )

Definition at line 1028 of file session.c.

◆ if() [1/4]

if ( ! result)

Definition at line 973 of file session.c.

◆ if() [2/4]

if ( ! Z_ISUNDEFPS(http_session_vars))

Definition at line 978 of file session.c.

◆ if() [3/4]

if ( fail )

Definition at line 1082 of file session.c.

◆ if() [4/4]

Definition at line 981 of file session.c.

◆ memcpy()

memcpy ( buf ,
EXPIRES ,
sizeof(EXPIRES) - 1 )

◆ php_add_session_var()

PHPAPI void php_add_session_var ( zend_string * name)

Definition at line 194 of file session.c.

◆ PHP_FUNCTION() [1/22]

PHP_FUNCTION ( session_abort )

Definition at line 2796 of file session.c.

◆ PHP_FUNCTION() [2/22]

PHP_FUNCTION ( session_cache_expire )

Definition at line 2555 of file session.c.

◆ PHP_FUNCTION() [3/22]

PHP_FUNCTION ( session_cache_limiter )

Definition at line 2525 of file session.c.

◆ PHP_FUNCTION() [4/22]

PHP_FUNCTION ( session_create_id )

Definition at line 2469 of file session.c.

◆ PHP_FUNCTION() [5/22]

PHP_FUNCTION ( session_decode )

Definition at line 2605 of file session.c.

◆ PHP_FUNCTION() [6/22]

PHP_FUNCTION ( session_destroy )

Definition at line 2724 of file session.c.

◆ PHP_FUNCTION() [7/22]

PHP_FUNCTION ( session_encode )

Definition at line 2587 of file session.c.

◆ PHP_FUNCTION() [8/22]

PHP_FUNCTION ( session_gc )

Definition at line 2757 of file session.c.

◆ PHP_FUNCTION() [9/22]

PHP_FUNCTION ( session_get_cookie_params )

Definition at line 1954 of file session.c.

◆ PHP_FUNCTION() [10/22]

PHP_FUNCTION ( session_id )

Definition at line 2313 of file session.c.

◆ PHP_FUNCTION() [11/22]

PHP_FUNCTION ( session_module_name )

Definition at line 2002 of file session.c.

◆ PHP_FUNCTION() [12/22]

PHP_FUNCTION ( session_name )

Definition at line 1972 of file session.c.

◆ PHP_FUNCTION() [13/22]

PHP_FUNCTION ( session_regenerate_id )

Definition at line 2354 of file session.c.

◆ PHP_FUNCTION() [14/22]

PHP_FUNCTION ( session_register_shutdown )

Definition at line 2837 of file session.c.

◆ PHP_FUNCTION() [15/22]

PHP_FUNCTION ( session_reset )

Definition at line 2811 of file session.c.

◆ PHP_FUNCTION() [16/22]

PHP_FUNCTION ( session_save_path )

Definition at line 2283 of file session.c.

◆ PHP_FUNCTION() [17/22]

PHP_FUNCTION ( session_set_cookie_params )

Definition at line 1784 of file session.c.

◆ PHP_FUNCTION() [18/22]

PHP_FUNCTION ( session_set_save_handler )

Definition at line 2110 of file session.c.

◆ PHP_FUNCTION() [19/22]

PHP_FUNCTION ( session_start )

Definition at line 2638 of file session.c.

◆ PHP_FUNCTION() [20/22]

PHP_FUNCTION ( session_status )

Definition at line 2826 of file session.c.

◆ PHP_FUNCTION() [21/22]

PHP_FUNCTION ( session_unset )

Definition at line 2735 of file session.c.

◆ PHP_FUNCTION() [22/22]

PHP_FUNCTION ( session_write_close )

Definition at line 2781 of file session.c.

◆ php_get_session_status()

PHPAPI php_session_status php_get_session_status ( void )

Definition at line 1738 of file session.c.

◆ php_get_session_var()

PHPAPI zval * php_get_session_var ( zend_string * name)

Definition at line 219 of file session.c.

◆ php_get_session_var_str()

PHPAPI zval * php_get_session_var_str ( const char * name,
size_t name_len )

Definition at line 228 of file session.c.

◆ php_session_create_id()

PHPAPI zend_string * php_session_create_id ( PS_CREATE_SID_ARGS )

Definition at line 335 of file session.c.

◆ php_session_destroy()

PHPAPI zend_result php_session_destroy ( void )

Definition at line 171 of file session.c.

◆ php_session_flush()

PHPAPI zend_result php_session_flush ( int write)

Definition at line 1727 of file session.c.

◆ php_session_register_module()

PHPAPI zend_result php_session_register_module ( const ps_module * ptr)

Definition at line 1181 of file session.c.

◆ php_session_register_serializer()

PHPAPI zend_result php_session_register_serializer ( const char * name,
zend_string *(* encode )(PS_SERIALIZER_ENCODE_ARGS),
zend_result(* decode )(PS_SERIALIZER_DECODE_ARGS) )

Definition at line 1151 of file session.c.

◆ php_session_reset_id()

PHPAPI zend_result php_session_reset_id ( void )

Definition at line 1538 of file session.c.

◆ php_session_start()

PHPAPI zend_result php_session_start ( void )

Definition at line 1611 of file session.c.

◆ php_session_update_timestamp()

PHPAPI zend_result php_session_update_timestamp ( PS_UPDATE_TIMESTAMP_ARGS )

Definition at line 1204 of file session.c.

◆ php_session_valid_key()

PHPAPI zend_result php_session_valid_key ( const char * key)

Definition at line 359 of file session.c.

◆ php_session_validate_sid()

PHPAPI zend_result php_session_validate_sid ( PS_VALIDATE_SID_ARGS )

Definition at line 1199 of file session.c.

◆ php_set_session_var()

PHPAPI zval * php_set_session_var ( zend_string * name,
zval * state_val,
php_unserialize_data_t * var_hash )

Definition at line 208 of file session.c.

◆ PHP_VAR_SERIALIZE_DESTROY()

PHP_VAR_SERIALIZE_DESTROY ( var_hash )

◆ PHP_VAR_SERIALIZE_INIT()

PHP_VAR_SERIALIZE_INIT ( var_hash )

◆ PHP_VAR_UNSERIALIZE_DESTROY()

PHP_VAR_UNSERIALIZE_DESTROY ( var_hash )

◆ PHP_VAR_UNSERIALIZE_INIT()

PHP_VAR_UNSERIALIZE_INIT ( var_hash )

◆ private_no_expire()

CACHE_LIMITER private_no_expire ( )

◆ PS()

Z_ADDREF_P & PS ( http_session_vars ) &

◆ PS_ENCODE_LOOP() [1/2]

PS_ENCODE_LOOP ( if(ZSTR_LEN(key) > PS_BIN_MAX) continue;smart_str_appendc(&, char ZSTR_LEN(key) ) &

◆ PS_ENCODE_LOOP() [2/2]

PS_ENCODE_LOOP ( smart_str_appendl(&, key,
ZSTR_LEN(key)  ) &

◆ session_adapt_url()

PHPAPI void session_adapt_url ( const char * url,
size_t url_len,
char ** new_url,
size_t * new_len )

Definition at line 1770 of file session.c.

◆ snprintf()

snprintf ( buf ,
sizeof(buf) ,
"Cache-Control: public )
Initial value:
{
char buf[MAX_STR + 1]
zend_ffi_ctype_name_buf buf
Definition ffi.c:4685
#define MAX_STR
Definition session.c:1222

◆ STD_PHP_INI_BOOLEAN()

STD_PHP_INI_BOOLEAN ( "session.upload_progress.enabled" ,
"1",
ZEND_INI_PERDIR,
OnUpdateBool,
rfc1867_enabled ,
php_ps_globals,
ps_globals  )

Definition at line 926 of file session.c.

◆ strcpy_gmt()

strcpy_gmt ( buf+sizeof(EXPIRES) - 1,
& now )

◆ while()

while ( )

Definition at line 1107 of file session.c.

◆ ZEND_DECLARE_MODULE_GLOBALS()

PHPAPI ZEND_DECLARE_MODULE_GLOBALS ( ps )

Definition at line 57 of file session.c.

◆ zend_string_release_ex()

zend_string_release_ex ( var_name ,
0  )

Variable Documentation

◆ __pad0__

break_outer_loop __pad0__

Definition at line 1133 of file session.c.

◆ buf

smart_str_0& buf

Definition at line 1011 of file session.c.

◆ current

zval * current

Definition at line 1024 of file session.c.

◆ endptr

const char * endptr = val + vallen

Definition at line 1021 of file session.c.

◆ fail

bool fail = false

Definition at line 1065 of file session.c.

◆ name

zend_string* name

Definition at line 1022 of file session.c.

◆ namelen

ptrdiff_t namelen

Definition at line 1097 of file session.c.

◆ now

now = tv.tv_sec + PS(cache_expire) * 60

Definition at line 1281 of file session.c.

◆ p

p = val

Definition at line 1105 of file session.c.

◆ PS_ENCODE_VARS

PS_ENCODE_VARS

Definition at line 1000 of file session.c.

◆ result

result
Initial value:
&session_vars, (const unsigned char **)&val, (const unsigned char *)endptr, &var_hash)
zval * val
Definition ffi.c:4262
PHPAPI int php_var_unserialize(zval *rval, const unsigned char **p, const unsigned char *max, php_unserialize_data_t *var_hash)
zval session_vars
Definition session.c:963
const char * endptr
Definition session.c:1021
php_unserialize_data_t var_hash
Definition session.c:964

Definition at line 965 of file session.c.

◆ retval

return retval = SUCCESS

Definition at line 1099 of file session.c.

◆ rv

zval rv

Definition at line 1024 of file session.c.

◆ s

Definition at line 1014 of file session.c.

◆ session_module_entry

zend_module_entry session_module_entry
Initial value:
= {
session_deps,
"session",
ext_functions,
PHP_MINIT(session), PHP_MSHUTDOWN(session),
PHP_RINIT(session), PHP_RSHUTDOWN(session),
PHP_MINFO(session),
PHP_GINIT(ps),
}
#define PHP_GINIT
Definition php.h:397
#define PHP_MINFO
Definition php.h:396
#define PHP_RINIT
Definition php.h:394
#define PHP_MSHUTDOWN
Definition php.h:393
#define PHP_RSHUTDOWN
Definition php.h:395
#define PHP_MINIT
Definition php.h:392
#define PHP_MODULE_GLOBALS
Definition php.h:408
#define PHP_SESSION_VERSION
Definition php_session.h:26
#define STANDARD_MODULE_PROPERTIES_EX
#define STANDARD_MODULE_HEADER_EX

Definition at line 3392 of file session.c.

◆ session_vars

ZVAL_NULL & session_vars
Initial value:
{
const char *endptr = val + vallen

Definition at line 963 of file session.c.

◆ SUCCESS

return SUCCESS

Definition at line 988 of file session.c.

◆ tv

Initial value:
{
char buf[MAX_STR + 1]

Definition at line 1280 of file session.c.

◆ var_hash

Initial value:

Definition at line 964 of file session.c.

◆ var_name

zend_string* var_name = ZSTR_INIT_LITERAL("_SESSION", 0)

Definition at line 966 of file session.c.