PHP会话可以跨子域吗?

时间:2011-01-04 03:12:47

标签: php session-variables subdomain

有没有办法让php会话跨越我的www.domain.com以及sub.domain.com ???只使用session_start()$_SESSION['foo'] = "bar"无效......有什么建议吗? PHP手册没有说明任何内容。

由于

4 个答案:

答案 0 :(得分:2)

您可以尝试设置Cookie域

ini_set(“session.cookie_domain”,“。domain.com”);

这会将domain.com中的所有子域设置为一个域

答案 1 :(得分:2)

PHP中的默认会话跟踪依赖于cookie(PHPSESSID,默认情况下,如果内存服务)。

您可以使用session_set_cookie_param()设置域名(但我必须在调用session_start()之前这样做),或者您可以在php.ini或.htaccess中设置它,如:

php_value session.cookie_domain ".domain.com"

答案 2 :(得分:1)

答案 3 :(得分:1)

我确定还有其他答案,但您可以使用session_set_save_handler将会话存储在数据库中。 http://www.php.net/manual/en/function.session-set-save-handler.php