时
我只是用Symfony配置PDO会话,这对我来说绝对效果很好,但是现在我希望添加一些额外的字段,例如用户IP,用户ID等,以稍后进行报告登录哪个区域,因此我找不到将新列添加到会话表中的方法,因为它的工作有点不同
//services.yaml
SymfonyComponentHttpFoundationSessionStorageHandlerPdoSessionHandler:
arguments:
- !service { class: PDO, factory: 'database_connection:getWrappedConnection' }
- { lock_mode: 1 }
//framework.yaml
session:
enabled: true
gc_maxlifetime: 36000 #10 hours custom session time
handler_id: 'SymfonyComponentHttpFoundationSessionStorageHandlerPdoSessionHandler'
save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
cookie_secure: auto
cookie_samesite: lax
//database table
CREATE TABLE `sessions` (
`sess_id` VARCHAR(128) NOT NULL PRIMARY KEY,
`sess_data` BLOB NOT NULL,
`sess_time` INTEGER UNSIGNED NOT NULL,
`sess_lifetime` MEDIUMINT NOT NULL
) COLLATE utf8_bin, ENGINE = InnoDB;
通过使用名称用户日志创建第三个表,并将会话ID和用户ID传递到IT(已经创建的会话和用户表(以及一些额外的字段(例如IP位置(等来解决问题。每当用户登录将进入此表