php - 跨多个域共享 php Session ($_SESSION)

标签 php codeigniter symfony1

我有 2 个不同的域,我们称它们为 www.foo.com 和 bar.foo.com。第一个是用 CI 构建的,第二个是用 Symfony 构建的。我想分享我的 session ,所以如果我登录其中一个,我就可以访问另一个。我使用 $_SESSION["session_name"] = "value"; 设置我的 session 数据。

如何使 session 数据可从其他域读取?

感谢您的帮助。

最佳答案

考虑到您的原始问题以及您在原始问题的评论中对 Logan 和我自己的回答,我理解:

1 - 您想在域及其子域之间传递 session 变量;和

2 - CI 和 Symfony 在您有机会执行 ini_set 命令之前加载 session 。

我相信你有两个选择:

1 - 在 php.ini 文件中包含 php 配置命令

session.cookie_domain=".foo.com"

如果您尝试将它包含在 .htaccess 中,如果您将 php 作为 CGI 模块运行,它将无法工作,这在共享托管服务中似乎相当普遍。

2 - 您可以将文件添加到站点中的所有 php 脚本。这些将放在您网站运行的每个 php 脚本之上,甚至是 CI 和 Symfony 中的脚本。例如:

phpprepend.php文件

<?php
ini_set('session.cookie_domain', '.foo.com');
?>

在您的 php.ini 文件中包含以下行:

auto_prepend_file = "/path/to/file/phpprepend.php"

如果这能解决问题,请告诉我们。

祝你好运!

关于php - 跨多个域共享 php Session ($_SESSION),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7328225/

相关文章:

json - 在 Symfony 中压缩特定 Action 的输出?

php - 在 jQuery 脚本中使用 PHP 可以吗?

php - CodeIgniter:如何将用户当前所在页面的链接设为 'highlight'?

php - CI中如何将多维数组插入数据库?

javascript - 使用 'with' 为remote_function提供2个参数

php - Sql:跨多个表的唯一字段约束(slug)(doctrine/symfony)

php - 多供应商在线购物平台

php - 将数据库实例传递给多个类

php - 带有 AND 的案例陈述

php - 我想在 php 中根据周对数组进行分组