Обработчик сеанса PHP по умолчанию хранит данные сеанса в формате serialize()
в файле, что означает, что в основном это обычный текст. Конечно, вы можете манипулировать этим файлом из командной строки, используя любой из стандартных инструментов Unix для работы с текстом (perl, sed, awk, даже echo / cat в сценарии оболочки и т. Д.), Если только вы не представите синтаксическая ошибка в сериализованных данных.
Но в этот момент, если вы не найдете функцию / библиотеку / модуль, который выполняет unserialize()
и, скорее всего, также serialize()
, вы можете просто использовать сам PHP для выполнения манипуляции. Это будет довольно редкая система, в которой не установлена CLI-версия PHP наряду с версией веб-сервера.
$dat = file_get_contents('/path/to/session/file');
$session = unserialize($dat);
$session['temp'] = 'whatever';
$dat = serialize($session);
file_put_contents('/path/to/session/file', $dat);