文档已损坏,并转到404页。我不太擅长像这样的逆向工程课程,关于如何设置services.yml以使用它的任何提示?
文档页面 https://symfony.com/doc/current/components/http_foundation/session_configuration.html
答案 0 :(得分:4)
您需要定义2个服务:
RedisSessionHandler
的人,它将利用该连接。编辑服务文件:
# config/services.yaml
services:
Redis:
class: Redis
calls:
- method: connect
arguments:
- '%env(REDIS_HOST)%'
- '%env(int:REDIS_PORT)%'
# If you need key prefix
# - method: setOption
# arguments:
# - !php/const Redis::OPT_PREFIX
# - 'my_prefix'
Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler:
arguments:
- '@Redis'
(请注意,我在这里将Redis主机和端口存储为环境变量,但是如果需要,可以在其他位置定义它们)。
您现在可以将服务用作会话处理程序:
# config/packages/framework.yaml
framework:
session:
handler_id: Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler
我也有点挣扎,写了一篇更详细的文章:http://blog.michaelperrin.fr/2018/08/14/redis-session-handling-in-symfony/
答案 1 :(得分:1)
对于添加自定义前缀,也许以下更好:
Redis:
class: Redis
calls:
- method: connect
arguments:
- '%env(REDIS_HOST)%'
- '%env(int:REDIS_PORT)%'
# - method: setOption
# arguments:
# # @see https://symfony.com/blog/new-in-symfony-3-2-php-constants-in-yaml-files
# - !php/const Redis::OPT_PREFIX
Symfony\Component\HttpFoundation\Session\Storage\Handler\RedisSessionHandler:
arguments:
- '@Redis'
# @see https://symfony.com/doc/current/components/yaml/yaml_format.html
-
prefix: ivannotes_