PHP 8.3.4 Released!

SessionHandlerInterface::write

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::writeEscreve os dados de sessão

Descrição

public SessionHandlerInterface::write(string $id, string $data): bool

Escreve os dados de sessão no armazenamento de sessão. Chamada por session_write_close(), quando session_register_shutdown() falhar ou na finalização normal. Note que o método SessionHandlerInterface::close() é chamado imediatamente depois desta função.

O PHP chamará este método quando a sessão estiver pronta para salvar e fechar. O PHP codifica os dados da super global $_SESSION em uma string serializada e passa o resultado junto com o ID de sessão à este método para armazenamento. O método de serialização usado é especificado na configuração session.serialize_handler.

Note que este método normalmente é chamado pelo PHP depois que o buffer de saída é fechado, a não ser que ele seja chamado explicitamente por session_write_close()

Parâmetros

id

O id da sessão.

data

Os dados de sessão codificados. Esta informação é o resultado codificado internamente pelo PHP da super global $_SESSION em uma string serializada e passada como este parâmetro. Note que sessões usam um método alternativo de serialização.

Valor Retornado

O valor retornado (geralmente true em caso de sucesso, false em caso de falha). Note que este valor é retornado internamente ao PHP para processamento.

Veja Também

add a note

User Contributed Notes 3 notes

up
3
jotremb at hotmail dot com
7 years ago
It is important to note that if returning FALSE from this method, PHP will in turn output the following warning:

Warning: Unknown: Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0.

This could cause minor inconveniences, however if the session should not be written as per design, then returning TRUE after handling (and not writing) the session will avoid further issues.

All in all, better return TRUE at all times except in cases of hard errors.
up
2
barkoczi dot roland at aercode dot com
8 years ago
Note: this function won't be called in case $session_data is unchanged. In order to call this function every time when session is about closing, add $_SESSION["timestamp"] = time();
up
1
Aeric Poon
4 years ago
Warning: session_write_close(): Session callback expects true/false return value in Unknown on line 0

I have returned TRUE in write() but the warning still persist. Then I also return TRUE in close() and the warning is gone.
To Top