【问题标题】:Accessing another PHP application session data within Zend 1.12.20 on same domain在 Zend 1.12.20 中访问同一域上的另一个 PHP 应用程序会话数据
【发布时间】:2018-06-21 22:21:41
【问题描述】:

我已将 PHP 会话 存储在 Core PHP 应用程序(www.domain.com) 中,并希望在 Zend 应用程序中使用该会话(www.domain.com/zend_app/) 在同一个域上。 在 ZendPHP$_SESSION 变量中,我只得到 Zend 中设置的会话数据,而不是核心 PHP 应用程序中设置的会话数据。谁能建议我如何在 Zend 应用程序中访问 Core PHP 的会话数据?

【问题讨论】:

  • 这应该是开箱即用的。您能否在问题中添加一些代码,以显示您如何在两个地方向会话添加数据以及如何检查数据是否存在?

标签: php session zend-framework session-variables


【解决方案1】:

作为跨域和子域处理会话的一般最佳实践提示,请使用专用会话处理程序。我会建议像 Redis 这样的内存键值存储。你可以在php.ini中设置默认的save_handler来使用Redis。

我推荐网络上众多优秀文章中的一篇,尤其是this 一篇。然后,您应该能够调用您的 Redis 服务器或其他会话存储,例如memcached 来检索数据。

【讨论】:

  • 这个问题是关于在同一个域上运行的两个应用程序。
  • 它仍然适用。我不想将会话存储在任何应用程序的文件中 - 考虑使用 nginx 代理进行负载平衡,或者甚至像具有多个服务器的循环一样基本的东西。您最终可能会在另一台机器上没有来自另一台的会话数据。无论是否相同域,我都建议生产应用程序不应将会话存储在具有可疑权限的文件中,甚至可能在与其他人能够窃听的共享服务器上。
猜你喜欢
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 2012-05-29
  • 1970-01-01
相关资源
最近更新 更多