nixn / etcdsh
一个PHP会话处理器,将会话数据存储在ETCD集群中。
v0.1
2023-12-20 20:41 UTC
Requires
- php: ^8.0
- aternos/etcd: ^1.5
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
发送一些比特币。