International PHP Conference Berlin 2025

session_module_name

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

session_module_nameВозвращает и (или) устанавливает модуль текущей сессии

Описание

session_module_name(?string $module = null): string|false

Функция session_module_name() получает название текущего модуля сессии — модуля хранения и извлечения данных сессии, который устанавливает директива session.save_handler.

Список параметров

module

Модуль, который механизм управления сессиями будет использовать вместо текущего обработчика сессии, если для параметра module указали значение, которое не равно null. В параметр нельзя передавать значение "user". Вместо этого требуется вызывать функцию session_set_save_handler(), чтобы установить пользовательский обработчик сессии.

Возвращаемые значения

Функция возвращает название текущего модуля сессии или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр module теперь принимает значение null.
7.2.0 Явную установку названия "user" для модуля-обработчика сессии теперь запретили. Раньше установка такого значения без предупреждения игнорировалась.
Добавить

Примечания пользователей 2 notes

up
4
raees at steelbrain dot com dot pk
10 years ago
This function is used to set the Session Module at site or script level.

The global configuration can be done in php.ini under the [Session] section and with the name of "session.save_handler". The sessions are saved in files by default, like so:
session.save_handler = files

But with this configuration you set one of your websites to use some other session module (if you have them installed and extension loaded with PHP), like so:
<?php

// NOTE: You must use this function before starting session with session_start(); to make it work properly
session_module_name('memcache'); // or pgsql or redis etc

// You'll need to define a save path also, if the module is other than files, like so:
session_save_path('localhost:11211'); // memcache uses port 11211

// or you can use multiple for load balancing:
session_save_path('localhost:11211:41,otherhost:11211:60') // First part is hostname or path to socket, next is port and the last is the weight for that server

//The function also returns the value of the current session module.
echo session_module_name(); // will print memcache in our case

// or maybe a check
if(session_module_name() != 'memcache'){
// Do something, throw an exception maybe
}
up
-2
Anonymous
9 years ago
was looking for a rather comprehensive list of modules, and found http://stackoverflow.com/questions/8415962/what-exactly-phps-function-session-module-name-is-for but there are more.
To Top