nixn/etcdsh

一个PHP会话处理器,将会话数据存储在ETCD集群中。

v0.1 2023-12-20 20:41 UTC

This package is auto-updated.

Last update: 2024-09-20 22:43:19 UTC


README

一个PHP 会话处理器,将会话数据存储在ETCD集群中,并启用ETCD的租约系统自动清理会话。

它使用PHP会话生命周期(session.gc_maxlifetime)来存储数据,这使得在会话超时后自动清理会话数据成为可能 - 而无需应用程序侧的任何交互(如CRON作业等)。

由于ETCD的特性,可以有多个Web服务器,它们都可以访问相同的会话数据,因此可能需要重新考虑会话粘性...

设置

安装

etcdsh使用了Aternos gRPC ETCD客户端,它需要扩展php-grpc

apt install php-grpc
composer require nixn/etcdsh

使用

use nix\etcdsh\EtcdSessionHandler;
use Aternos\Etcd\Client as EtcdClient;

session_name('MY_SESSION_NAME'); // recommended to set, default is PHPSESSID
session_set_save_handler(new EtcdSessionHandler(new EtcdClient('localhost')));
session_save_path('sessions/'); // used as prefix in ETCD ("<name>/<id>:<lease-id>" appended)
ini_set('session.gc_probability', 0); // GC not needed with EtcdSessionHandler
ini_set('session.gc_maxlifetime', 1440); // set lifetime to your liking
session_start();

注意:包名为nix\etcdsh,而不是nixn\etcdsh

许可证

版权所有 © 2023 nix https://keybase.io/nixn

LICENSE文件中分发,受MIT许可证的保护。

捐赠

如果你喜欢etcdsh,请考虑向1nixn9rd4ns8h5mQX3NmUtxwffNZsbDTP发送一些比特币。