【发布时间】:2017-11-14 17:14:02
【问题描述】:
PHP 会话变量不会跨服务器传输。这是我用来检查它是否有效的一个简单示例。请看一下。
file1.php
<?php
session_start();
$_SESSION['FirstName'] = Kshitij ;
$_SESSION['LastName'] = Kawatra ;
echo session_id();
echo "<p>First Name is: " . $_SESSION['FirstName'] . "</p>" ;
echo "<p>Last Name is: " . $_SESSION['LastName'] . "</p>" ;
?>
<p>Go to the <a href="https://<server-ip>/file2.php">next page</a>.</p>
file2.php(在不同的服务器上)
<?php
session_start();
echo session_id();
echo "<p>The FirstName session variable is: " . $_SESSION['FirstName'] . "</p>";
echo "<p>The LastName session variable is: " . $_SESSION['LastName']. "</p> ";
?>
甚至会话 id 都不匹配。
【问题讨论】:
-
您如何将服务器连接在一起以使会话能够正常工作?它们是在负载均衡器后面还是在不同的主机名上?默认情况下,会话不能以任何方式在服务器之间传输。
-
在这种情况下你想用什么会话??
-
@sami 服务器有两个不同的主机名。我想将会话变量存储在数据库中,但我不确定如何从数据库中检索数据。
标签: php session server session-variables session-cookies