session_cache_expire
(PHP 4 >= 4.2.0, PHP 5)
session_cache_expire — Return current cache expire
Description
$new_cache_expire
] )session_cache_expire() returns the current setting of session.cache_expire.
The cache expire is reset to the default value of 180 stored in session.cache_expire at request startup time. Thus, you need to call session_cache_expire() for every request (and before session_start() is called).
Parameters
-
new_cache_expire
-
If
new_cache_expire
is given, the current cache expire is replaced withnew_cache_expire
.Note: Setting
new_cache_expire
is of value only, if session.cache_limiter is set to a value different from nocache.
Return Values
Returns the current setting of session.cache_expire. The value returned should be read in minutes, defaults to 180.
Examples
Example #1 session_cache_expire() example
<?php
/* set the cache limiter to 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();
/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();
/* start the session */
session_start();
echo "The cache limiter is now set to $cache_limiter<br />";
echo "The cached session pages expire after $cache_expire minutes";
?>
See Also
- session.cache_expire
- session.cache_limiter
- session_cache_limiter() - Get and/or set the current cache limiter
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с сессиями
- Управление сессиями
- session_abort
- session_cache_expire
- session_cache_limiter
- session_commit
- session_create_id
- session_decode
- session_destroy
- session_encode
- session_gc
- session_get_cookie_params
- session_id
- session_is_registered
- session_module_name
- session_name
- session_regenerate_id
- session_register_shutdown
- session_register
- session_reset
- session_save_path
- session_set_cookie_params
- session_set_save_handler
- session_start
- session_status
- session_unregister
- session_unset
- session_write_close
Коментарии
The manual probably doesn't stress this enough:
** This has nothing to do with lifetime of a session **
Whatever you set this setting to, it won't change how long sessions live on your server.
This only changes HTTP cache expiration time (Expires: and Cache-Control: max-age headers), which advise browser for how long it can keep pages cached in user's cache without having to reload them from the server.
Using PHP 8.2
session_start();
$result1 = session_cache_expire( 30 ); // setter, results in Warning: Session cache expiration cannot be changed when a session is active in ...
$result2 = session_cache_expire(); // getter
var_dump( $result1, $result2 ); // prints out: int(180) int(180) [note: 180 is the default value]
Because the session was already started, cache expiration could not be changed (warning message). However, the return value is NOT false, it is still the original, unchanged value!
So I do not know what is considered a failure to change the value as per the documentation (`On failure to change the value, false is returned.`).