文档已损坏并导致出现 404 页面。我不太擅长这样的逆向工程类(class),关于如何设置 services.yml 以使用它的任何提示?
文档页面 https://symfony.com/doc/current/components/http_foundation/session_configuration.html
session 处理程序 404 https://api.symfony.com/4.1/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.html
session 处理程序的 Git 页面 https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/RedisSessionHandler.php
最佳答案
您需要定义 2 个服务:
- 一个用于 Redis 连接。
- 一个用于
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 主机和端口存储在此处作为环境变量,但如果需要,您可以在其他地方定义它们)。
您现在可以将该服务用作您的 session 处理程序:
# 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/
关于php - 你如何在 Symfony 4 中使用 RedisSessionHandler?损坏的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51795767/