PHP 8.4.1 Released!

session_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

session_encodeEncodes the current session data as a session encoded string

Description

session_encode(): string|false

session_encode() returns a serialized string of the contents of the current session data stored in the $_SESSION superglobal.

By default, the serialization method used is internal to PHP, and is not the same as serialize(). The serialization method can be set using session.serialize_handler.

Parameters

This function has no parameters.

Return Values

Returns the contents of the current session encoded, or false on failure.

Notes

Warning

Must call session_start() before using session_encode().

See Also

add a note

User Contributed Notes 3 notes

up
19
<carlos sica>sica at wnet dot com dot br
19 years ago
session_encode() just return the session dataset in a formatted form

session_start();

$_SESSION['login_ok'] = true;
$_SESSION['nome'] = 'sica';
$_SESSION['inteiro'] = 34;

echo session_encode();

this code will print

login_ok|b:1;nome|s:4:"sica";inteiro|i:34;
up
2
Mark P
7 years ago
session_encode() can't handle pipes in your keys.

<?php
session_start
();
$_SESSION = ['foo|bar'=>'ba;z']; pathetic
dump
(session_encode()); // false because "foo|bar" contains a pipe
?>
up
0
polygon dot co dot in at gmail dot com
2 days ago
The session_encode and session_decode functions are incomplete.

Because there is no option to collect the output values for session_decode or input an array in session_encode.

I faced this issue while trying to implement custom session using session_set_save_handler.

It led me to limit the functionality to particular serialize_handler and had to hardcode the encode and decode functions like serialize and unserialize for option ['serialize_handler' => 'php_serialize'] instead of session_encode and session_decode once i am done with defining the encoding algo.
To Top