在 Symfony 3 中,可以使用与使用的PdoSessionHandler
学说相同的数据库连接来存储会话:Symfony 3.4 Docs
PdoSessionHandler
在 Symfony 4 中,仍然存在Symfony 4.0 Docs的接缝,但不幸的是没有关于如何共享数据库连接的信息。
在我看来,数据库连接属于.env
文件,不应添加到版本控制/公共中,也不应按照文档中的建议,只是硬编码(包括密码!!!)。
如何使用 Symfony 4.0 重用数据库连接以在数据库中存储会话
编辑:同时我没有成功尝试这个:
// config/services.yaml
Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler:
arguments:
- '%env(resolve:DATABASE_URL)%'
在我的.env
文件中,我有这样的东西:当然,,,,和DATABASE_URL=mysql://dbuser:dbpass@dbhost:dbport/dbsheme?charset=UTF-8
设置dbuser
为dbpass
mysql连接的参数dbhost
dbport
dbsheme
不幸的是,这给了我一条FatalErrorException
消息:“错误:session_start():无法初始化存储模块:用户(路径:/var/lib/php/sessions)”我是什么类型的错误,它试图在本地做某事,当我希望它连接到远程数据库时。