2017-10-05 2 views
1

Ma situation est la suivante. J'ai un projet cakephp et un script php plaine séparé fonctionnant sur le même serveur. Lorsque j'utilise mon navigateur client pour me connecter au projet cakephp, il crée une session comme il se doit.Poursuivre cakephp 3 session sur script php

Maintenant je veux continuer les données de session avec mon script PHP simple. Encore une fois, j'utilise le même navigateur client pour accéder au script php (les méta-données de requête doivent donc être les mêmes et la session doit être reconnue) et je mets l'option de session cakephp à PHP.

'Session' => [ 
    'defaults' => 'php', 
], 

Cependant, je ne peux pas savoir comment continuer la session sur le script PHP simple. j'aurais pris les deux lignes de mon script php simple ferait la magie suivantes:

session_start(); 
echo json_encode($_SESSION); 

Meilleures salutations, Marius

Répondre

5

CakePHPs les valeurs de session PHP (comme tous intégré par défaut) ne changent la nom du cookie/le nom de la session (session.name de réglage INI) à CAKEPHP:

https://github.com/cakephp/cakephp/blob/3.5.3/src/Network/Session.php#L133-L138

Donc, vous devez soit changer cela pour correspondre aux paramètres par défaut utilisés par votre application PHP à la vanille (ce qui est très probablement PHPSESSID, à savoir la valeur par défaut de PHP):

'Session' => [ 
    'defaults' => 'php', 
    'cookie' => session_name(), // would use the PHP default 
], 
// ... 

ou de modifier cette dernière application pour utiliser le nom configuré pour votre application CakePHP:

session_name('CAKEPHP'); 
session_start(); 
// ... 

assurez-vous également que la configuration session.cookie_path et session.cookie_domain couvre à la fois de vos sites d'applications.

Voir aussi