我正在寻找一种在同一台服务器上跨多个域维护PHP会话的方法。我将要将我的网站与简单机器论坛集成,因此我需要使用基于MySQL的会话。谢谢!
答案 0 :(得分:7)
根据您修改PHP变量的首选方法(Apache的配置,.htaccess),将session.cookie_domain值更改为一致的值。
我有多个子域,Apache配置文件中的每个VirtualHost部分包含以下行:
php_value session.cookie_domain mydomain.com
如果在.htaccess文件中进行更改,语法应该类似。
更新了bobert5064的评论:
对于多个域(即domain1.com,domain2.org),我认为只需选择一个通用域名(即domain1.com)。我从未尝试过这个,所以我无法验证它是否有效,但逻辑似乎是准确的。
还有一种方法可以在http://us.php.net/manual/en/function.session-set-cookie-params.php中描述的PHP中设置变量方向。该文档未提及在不同域上设置cookie的能力或能力。
答案 1 :(得分:1)
如果一个站点要转发或链接到第二个站点,它可以在链接的 href 中包含会话ID,或者在表单中包含输入。与George的 img tag 方法类似,但会话只会在需要时移动。
哪个最好取决于您网站的使用模式。