Vous voulez utiliser memcache
ou memcached
? Il s'agit de deux extensions différentes, alors soyez conscient de cela. Et je suggère d'utiliser memcached
, memcache
est mort.
Serivce session.handler.memcache
n'est pas défini, vous devez donc définir un implémentant SessionHandlerInterface
, dans votre cas MemcacheSessionHandler
.
D'abord, nous devons définir par exemple memcache en tant que service, afin que nous puissions passer à MemcacheSessionHandler
constructeur:
memcache:
class: \Memcache
calls:
- [ addServer, [ %host_parameter%, %port_parameter% ]]
Ensuite, votre gestionnaire de session:
session.handler.memcache:
class: Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler
arguments: [@memcache]
Vous pouvez également utiliser un grouper comme cache/adapter-bundle
pour enregistrer un service compatible PSR-6 (ou même un composant de cache symfony, introduit dans 3.1) et utiliser Psr6SessionHandler
.
Si vous souhaitez utiliser memcached
, la configuration est presque identique.
J'ai cette erreur après l'injection? [Symfony \ Component \ DependencyInjection \ Exception \ RuntimeException] La définition de "calls" n'a pas de classe. Si vous avez l'intention d'injecter ce service dynamiquement au moment de l'exécution, veuillez l'indiquer comme synthétique = vrai. S'il s'agit d'une définition abstraite uniquement utilisée par les définitions enfants, veuillez ajouter abstract = t rue, sinon spécifiez une classe pour vous débarrasser de cette erreur. – mrsharko
j'ai corrigé l'erreur qui était parce que certains espaces – mrsharko
mais j'obtiens cette erreur maintenant Le service "memcache" a une dépendance sur un paramètre inexistant "host_p arameter". – mrsharko