2017-02-14 1 views
0

Lorsque je suis passé à l'équilibreur de charge AWS (serveur multiple), Session doit rester unique. Lorsque je me connectais à mon site, la session était perdue et redirigée vers la page d'accueil. J'ai donc essayé de stocker la session dans DB en utilisant le code suivant.Configurer CakePHP 2. * cache de session et de session dans la base de données

Configure::write('Session', array(
    'defaults' => 'database', 
    'handler' => array(
     'model' => 'cake_sessions' 
    ) 
)); 

Mais il sert à stocker les données de session lorsque l'administrateur se déconnecte. J'ai essayé de configurer cake session handler interface échoue.

Comment hacher la session et le cache dans la base de données.

+0

Pourquoi vous ne pas utiliser le gestionnaire de session intégré? –

+0

@Ayaouc Est-ce le travail pour Load balancer –

Répondre

0

Je ne connais pas l'équilibreur de charge, mais vous pouvez gérer vos sessions de manière serval, y compris en utilisant des bases de données.

Et c'est la configuration par défaut de CakePHP pour utiliser la base de données pour les sessions.

d'abord créer ce tableau:

CREATE TABLE `cake_sessions` (
    `id` varchar(255) NOT NULL DEFAULT '', 
    `data` text, 
    `expires` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
); 

Ensuite, configurez vos sessions app/core.php

Configure::write('Session', array(
    'database' => array(
      'cookie' => 'CAKEPHP', 
      'timeout' => 240, 
      'ini' => array(
       'session.use_trans_sid' => 0, 
       'url_rewriter.tags' => '', 
       'session.use_cookies' => 1, 
       'session.cookie_path' => static::$path, 
       'session.save_handler' => 'user', 
       'session.serialize_handler' => 'php', 
      ), 
      'handler' => array(
       'engine' => 'DatabaseSession', 
       'model' => 'Session' 
      ) 
     ) 
)); 
+0

J'ai essayé votre configuration, mais aucune donnée enregistrée dans la base de données –

+0

pouvez-vous s'il vous plaît m'inviter dans le chat de groupe –