【问题标题】:php sessions not carrying over from one page to the nextphp会话不会从一页延续到下一页
【发布时间】:2013-01-23 08:57:21
【问题描述】:

我以前在共享主机上使用过会话,它们非常简单。我现在正在使用 Amazon 并在 php.ini 中使用以下配置的 linux 服务器。问题是会话变量不会从一页继续到下一页:

session

Session Support enabled
Registered save handlers    files user memcached
Registered serializer handlers  php php_binary

Directive   Local Value Master Value
session.auto_start  Off Off
session.bug_compat_42   Off Off
session.bug_compat_warn Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly On  On
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  604800  604800
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/php/session    /var/lib/php/session
session.serialize_handler   php php
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0

示例页面:http://www.datingjapan.co/index.php

代码: index.php

<?php
session_start();
error_reporting(E_ALL & ~E_NOTICE);
$_SESSION['domain'] = 'www.datinggirls.co';
print_r($_SESSION);
?>

<h1>This is the HTML</h1>
<a href="page.php">Visit W3Schools</a>

page.php

<?php
session_start();
$_SESSION['page2'] = 'page-two-data';
print_r($_SESSION);
?>

<h1>This is page 2</h2>
<a href="index.php">Visit Home Page</a>

有什么建议吗?

谢谢

【问题讨论】:

  • 你确定 /var/lib/php/session 对于进程运行的用户是可写的吗?
  • 是的,用户具有写访问权限...我正在动态云端运行网站(为了速度)并且刚刚意识到我没有启用传递 cookie...我目前正在测试这个一旦我有答案,我会更新这个问题......谢谢你的帮助:)
  • 现在可以工作了...需要在云端启用传递 cookie...谢谢。!!!

标签: php session


【解决方案1】:

每次我 ping 您的域 www.datingjapan.co 时,它都会给我一个不同的 IP。

您的共享主机是否在多个云实例上?大概吧。

然后 PHP 会话文件可以本地存储在显示页面“索引”的第一台服务器上。当您加载第二个页面时,您在另一台服务器上...

我同意 Peter 的观点,请查看亚马逊常见问题解答或有关您的会话存储如何同步(或不同步)的支持。

【讨论】:

  • 我听到你在说什么......目前我只在负载均衡器后面运行一台服务器,所以我已经删除了多服务器因素......
【解决方案2】:

如果您使用多台服务器,它们将各自拥有自己的会话存储。您应该查看亚马逊支持论坛上有关在服务器之间同步会话存储的帖子。

编辑: 这是关于 SO 的一篇这样的帖子:How to synchronize sessions using Amazon Web Services (AWS)?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-11
    • 2016-05-26
    • 1970-01-01
    • 2013-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多