我正在使用wamp,我使用wamp在localhost上设置了子域名,当我从localhost转到subdomain.localhost时,localhost的会话无效。
然而,我发现了一点,发现我可能需要添加
session_set_cookie_params(0, '/', '.localhost');
前
session_start();
但似乎它不起作用。
可能是vhosts问题吗?
这就是我设置httpd-vhosts.conf的方式
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot c:/wamp/www/
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
ServerAdmin admin@test
DocumentRoot "C:/wamp/www/sub/"
ServerName sub.localhost
ServerAlias *.localhost
</VirtualHost>
答案 0 :(得分:2)
以下是3个选项。
将它放在你的php.ini中:
session.cookie_domain = ".example.com"
在.htaccess中:
php_value session.cookie_domain .example.com
作为脚本中的第一件事:
ini_set('session.cookie_domain', '.example.com' );
答案 1 :(得分:0)
如果要在目标计算机上重新绑定会话而不是创建新会话(注意这是非常糟糕的做法)....
<?php
if ($_GET['remote_session_id']) {
session_id($_GET['remote_session_id']);
}
session_start();