Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在cakephp 2和cakephp 3之间共享数据库会话_Php_Cakephp_Cookies_Cakephp 2.0_Cakephp 3.0 - Fatal编程技术网

在cakephp 2和cakephp 3之间共享数据库会话

在cakephp 2和cakephp 3之间共享数据库会话,php,cakephp,cookies,cakephp-2.0,cakephp-3.0,Php,Cakephp,Cookies,Cakephp 2.0,Cakephp 3.0,我正在尝试在不同子域上的两个cakephp应用程序之间共享会话。一个是CakePHP2,另一个是CakePHP3 到目前为止,我所拥有的: 这两个应用程序正在从同一数据库表读取会话 这两个应用程序正在将会话cookie“CAKEPHP”写入根域。我有一个 ini_集('session.cookie_domain','.domain.com')分别位于core.php和app.php之上 两个应用程序具有相同的Security.salt值 有什么问题吗? 当我在一个选项卡上打开cakephp 2时

我正在尝试在不同子域上的两个cakephp应用程序之间共享会话。一个是CakePHP2,另一个是CakePHP3

到目前为止,我所拥有的:

  • 这两个应用程序正在从同一数据库表读取会话
  • 这两个应用程序正在将会话cookie“CAKEPHP”写入根域。我有一个

    ini_集('session.cookie_domain','.domain.com')分别位于core.php和app.php之上

  • 两个应用程序具有相同的Security.salt值

  • 有什么问题吗? 当我在一个选项卡上打开cakephp 2时,它会生成一个具有一个值的会话cookie。但当我在另一个选项卡上打开CakePHP3时,它会为会话cookie生成另一个值。因此,当我登录到cake2,然后在另一个选项卡上刷新cake 3时,cake2上的会话就会丢失

    在研究时,我发现,cakephp3对会话cookie进行加密,而cake2不会。。。但我看不出哪里可以让cake2使用与cake3相同的加密。或者,如果这不会导致安全问题,则禁用两者上的加密


    你能帮我一下吗?

    CakePHP不加密会话cookies,这没有任何意义。对于初学者,不要手动设置会话ini值,而是使用CakePHP(,)提供的会话配置。然后进行一些调试,从浏览器是否确实将从一个域收到的会话cookie发送到另一个域开始。我做了类似的操作,但发现我必须稍微调整其中一个Cake会话类,因为一个版本可以节省会话到期时间,另一个版本可以节省会话创建时间,但它们都在会话中使用相同的属性来存储它。所以其中一个总是立即终止现有会话。我现在不记得它的具体细节,但修复它的黑客程序是直接的。CakePHP不加密会话cookies,这没有任何意义。对于初学者,不要手动设置会话ini值,而是使用CakePHP(,)提供的会话配置。然后进行一些调试,从浏览器是否确实将从一个域收到的会话cookie发送到另一个域开始。我做了类似的操作,但发现我必须稍微调整其中一个Cake会话类,因为一个版本可以节省会话到期时间,另一个版本可以节省会话创建时间,但它们都在会话中使用相同的属性来存储它。所以其中一个总是立即终止现有会话。我不记得当时它的具体情况,但修复它的方法是直接的。