【问题标题】:Destroy PHP Session Across all sub domains销毁所有子域的 PHP 会话
【发布时间】:2015-08-25 14:31:13
【问题描述】:

如何在 php.ini 中销毁所有域的会话。 我只是使用此代码,但这不起作用

session_destroy();

跨所有域意味着我在 example.com 中创建一个会话,该会话也在 www.example.com 中创建,这非常有效,但假设我从 example.com 销毁会话,它仅从 example.com 而不是从 www 销毁。例子.com

【问题讨论】:

  • 您遇到了什么问题?你得到什么错误信息?向我们展示更多代码。
  • “跨所有域”你能强调一下吗?
  • 等待您拥有set的页面并希望销毁sessions
  • 我使用 session.cookie_domain=".example.com" 没有发生错误;为了在所有域中创建会话,这将起作用,但是当我销毁会话 session_destroy();仅在当前域上销毁会话。
  • @KhushhalGupta,编辑您的帖子以提供更多信息。没有代码 = 没有帮助

标签: php session


【解决方案1】:

如果我理解正确的话,你想销毁所有其他页面中的会话set。我将演示它实际上应该如何的一些行为,希望你能找到你搞砸的地方。

假设我们有一个page1.php,我们刚刚开始使用会话。

page1.php

<?php

 // starts session
 session_start();

 // setting variable values during session
 $_SESSION['ID']='13CS54';

 $_SESSION['name']='Muneer';

 $_SESSION['account']='Stack Overflow';

echo "You have set the sessions"; 
?>

现在在另一个页面上假设page2.php,您正在使用这些会话。

page2.php

<?php

//don't forget to put session_start(); in the start
session_start();


echo "ID: " .$_SESSION['ID']."<br>";

echo "Name: " .$_SESSION['name']. "<br>";

echo "Account: " .$_SESSION['account'];

?>

page3.php 或您希望使用/添加更多会话。

page3.php

<?php

//yes, add the session_start(); (always)
session_start();

$_SESSION['country'] = 'Pakistan';

echo "ID: " .$_SESSION['ID']."<br>";

echo "Name: " .$_SESSION['name']. "<br>";

echo "Location: " .$_SESSION['country'];

?>

现在,您希望在page4.php销毁每个页面上的所有会话。

page4.php

<?php

session_start();
session_destroy();

?>

【讨论】:

  • 感谢您的演示,您是否尝试在子域上实际创建会话,但不会在所有子域中销毁
  • @KhushhalGupta 对不起,什么?
  • 实际上我只是使用 session_start(); 创建了一个会话。我使用这个代码 session.cookie_domain=".example.com";在 php.ini 文件中创建跨所有子域的会话,效果很好!
  • 但我想销毁所有域的会话
  • @KhushhalGupta 您是否尝试过回应并查看您的会话是否正常?
【解决方案2】:

我认为您想问的是如何销毁域及其子域上的会话
例如 example.com、account.example.com、app.example.com
您必须在调用 session_start() 之前添加这些行:

$sess_name = session_name('app');
session_set_cookie_params(0, '/', '.example.com');

检查this link to know more on session_set_cookie_params() 我一直遇到这个问题,但是这些行为我解决了这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2012-05-25
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    相关资源
    最近更新 更多