session_start
session_start
Start new or resume existing session
bool **session_start** array $options
creates a session or resumes the
current one based on a session identifier passed via a GET or POST
request, or passed via a cookie.
session_start
When is called or when a session auto starts,
PHP will call the open and read session save handlers. These will either be a built-in
save handler provided by default or by PHP extensions (such as SQLite or Memcached); or can be
custom handler as defined by .
The read callback will retrieve any existing session data (stored in a special serialized format)
and will be unserialized and used to automatically populate the $_SESSION superglobal when the
read callback returns the saved session data back to PHP session handling.
session_start``session_set_save_handler
To use a named session, call
before calling
.
session_name``session_start
When
is enabled, the function will
register an internal output handler for URL rewriting.
session.use_trans_sidsession_start
If a user uses or similar with
, the function order is important for
proper output. For example,
must be registered before starting the session.
ob_gzhandler``ob_start``ob_gzhandler
options
If provided, this is an associative array of options that will override
the currently set
.
The keys should not include the prefix.
session configuration directivessession.
In addition to the normal set of configuration directives, a
option may also be provided. If set to
true, this will result in the session being closed immediately after
being read, thereby avoiding unnecessary locking if the session data
won't be changed.
`read_and_close`
This function returns true if a session was successfully started, otherwise false.
A basic session example
<?php
// page1.php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
// Or maybe pass along the session id, if needed
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
After viewing , the second page
will magically contain the session
data. Read the
for information on as it, for example, explains what the constant
is all about.
session referencepropagating
session idsSID
<?php
// page2.php
session_start();
echo 'Welcome to page #2<br />';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// You may want to use SID here, like we did in page1.php
echo '<br /><a href="page1.php">page 1</a>';
?>
Providing options to session_start
Voorbeeld: Overriding the cookie lifetime
<?php
// This sends a persistent cookie that lasts a day.
session_start([
'cookie_lifetime' => 86400,
]);
?>
Voorbeeld: Reading the session and closing it
<?php
// If we know we don't need to change anything in the
// session, we can just read and close rightaway to avoid
// locking the session file and blocking other pages
session_start([
'cookie_lifetime' => 86400,
'read_and_close' => true,
]);
Opmerking: > To use cookie-based sessions, must be called before outputting anything to the browser.
session_start
Opmerking: > Use of is recommended instead of zlib.output_compression
ob_gzhandler
Opmerking: > This function sends out several HTTP headers depending on the configuration. See to customize these headers.
session_cache_limiter
$_SESSIONsession.auto_startsession_id