CakePHP 2 : démarrer la session automatiquement via session.auto_start

18 Oct 2012 0 ,

La directive session.auto_start

CakePHP 2.x n’active plus la session PHP par défaut. Il vous faudra ainsi modifier les options de configuration afin de démarrer la session automatiquement. La directive session.autostart est là pour ça. Voici le code à placer dans votre fichier bootstrap.php :

[php] <?php
Configure :: write(‘Session’, array(
‘ini’ => arrray(
‘session.auto_start’ => true
)
));
[/php]

Configurations par défaut

Par défaut, Cake propose des configurations « standards » : php, cake, cache et database. Vous les retrouverez dans la classe CakeSession.
Un petit exemple pour la config nommé ‘php’ :
[php] <?php
$defaults = array(
‘php’ => array(
‘cookie’ => ‘CAKEPHP’,
‘timeout’ => 240,
‘ini’ => array(
‘session.use_trans_sid’ => 0,
‘session.cookie_path’ => self::$path
)
)
);
[/php]

Vous pouvez les surcharger sans problème :
[php] <?php
Configure::write(‘Session’, array(
‘defaults’ => ‘php’,
‘cookie’ => ‘my_app’,
‘timeout’ => 4320 // 3 days
));
[/php]

Plus d’infos

Source de la classe CakeSession
La manuel sur les sessions CakePHP