企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
#### session组件配置 * 配置 ~~~ 'components' => [ //seesion组件 'session'=>[ 'class' => 'Swoolefy\Core\Session', 'cache_driver'=>'redis_session',//session的redis驱动,对应下面的redis_session组件 'cookie_domain' => '.swoolefy.com' ], //session驱动 'redis_session' => [ 'class' => 'Swoolefy\Core\Cache\Redis', 'constructor'=> [ [ 'scheme' => 'tcp', 'host' => '192.168.99.102', 'port' => 6379, 'password' => '123456', 'persistent' => true, 'timeout' => 2 ], // ['tcp://192.168.99.102:6379?persistent=true&password=123456&timeout=2'], [ 'profile' => '3.2' ] ] ], ~~~ * 注意: 1、session组件只适合用于http的web服务,不适用于websocket,rpc,udp服务中,可以在http的应用层配置中设置`session_start=>true|false`来是否开启session 2、session组件目前只能结合redis来使用,如果你没有安装好redis,是无法使用该session的,请在http的应用层配置中设置session_start=false来禁用session。同时redis的驱动是基于predis组件的,所以还需要安装predis组件,否则也是没法使用的。 ~~~ composer require predis/predis ~~~ 3、session组件类底层是基于session的原理实现的 ~~~ <?php namespace App\Controller; use Swoolefy\Core\Application; use Swoolefy\Core\Controller\BController; class SessionController extends BController{ public function setSession() { //组件形式设置值 Application::getApp()->session->set('swooleframe', 'swoolefy'); } public function getSession() { dump(Application::getApp()->session->get('swooleframe')); } } ~~~ 可以注意到,如何使用session的get和set ~~~ Application::getApp()->session->set(); Application::getApp()->session->get(); ~~~ [参考核心session.php](https://github.com/bingcool/swoolefy/blob/master/score/Core/Session.php)