PHP多域会话; ini_set不工作?
我正在尝试设置它,所以如果你登录我的网站,会话将转移到我网站的所有子域。例如,如果您访问domain.com并登录,则转到sub.domain.com,您将已经登录sub.domain.com。
根据我的理解,您可能希望使用ini_set('session.cookie_domain','。domain.com')然后使用session_start(),然后设置会话变量,但这不起作用。
我在做什么的例子:
domain.com的代码:
<?php
ini_set('session.cookie_domain','.domain.com');
session_start();
$_SESSION['variable'] = 1;
?>
sub.domain.com的代码:
<?php
session_start();
echo $_SESSION['variable'];
?>
但$ _SESSION ['变量']未设置。
我也尝试在sub.domain.com代码中使用ini_set(),但没有区别。我已经通过使用ini_get()验证了设置session.cookie_domain是否正常工作。
我究竟做错了什么?谢谢!
没有找到相关结果
已邀请:
3 个回复
撵穆
更新: 想一想..你也尝试过:
更新2:替代处理(手动cookie处理)
并在子域文件中
您可以添加三行来传递/处理会话信息
您通过会话的信息是什么?或者您是否正在使用它来处理登录等?
缝皋
在PHP中都是一个cookie set / get和一个文件支持的数据存储区的包装器。如果您使用标识符手动存储cookie,然后将数据与该标识符相关联(例如,在数据库中,甚至),您可以获得基本相同的功能(如果您想存储一堆不同的会话数据,则可能会有所帮助)。
鲁釜头
要加密/解密(在某处找到它,就像魅力一样):
这样,没有人可以读取cookie中的会话。因为您无需成为在浏览器中插入cookie的天才。有了这个,人们往往忘记会话实际上是从服务器可读的。如果您的浏览器可以访问它,其他程序也可以访问它。