PHP 会话可以跨越子域吗?
有没有办法让 php 会话跨越我的 www.domain.com 以及 sub.domain.com???仅使用 session_start()
和 $_SESSION['foo'] = "bar"
不起作用...有什么建议吗? PHP 手册对此没有任何说明。
谢谢
Is there a way to make a php session span through my www.domain.com as well as sub.domain.com??? just using session_start()
and $_SESSION['foo'] = "bar"
does not work...any suggestions? the PHP manual does not say anything about it.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试设置 cookie 域
ini_set("session.cookie_domain", ".domain.com");
这会将domain.com内的所有子域设置为一个域
you can try setting the cookie domain
ini_set("session.cookie_domain", ".domain.com");
this will set all sub domains within the domain.com to be see as the one domain
PHP 中的默认会话跟踪依赖于 cookie(PHPSESSID,默认情况下,如果没记错的话)。
您可以使用 session_set_cookie_param() (但我认为你必须在调用 session_start() 之前这样做)——或者你可以在 php.ini 或 .htaccess 中设置它,如下所示:
The default session tracking in PHP relies on cookies (PHPSESSID, by default, if memory serves).
You can set the domain using session_set_cookie_param() (but you must do so before calling session_start(), I think) -- or you can set it in php.ini, or .htaccess like:
看看这个问题。
PHP:Cookie 域/子域控制
Check out this question.
PHP: Cookie domain / subdomain control
我确信还有其他答案,但您可以使用
session_set_save_handler
将会话存储在数据库中。 http://www.php.net/manual/en /function.session-set-save-handler.phpI'm sure there are other answers, but you could use
session_set_save_handler
to store your sessions in a database. http://www.php.net/manual/en/function.session-set-save-handler.php