【问题标题】:Why does $_SESSION stop working when I restart web server?为什么当我重新启动 Web 服务器时 $_SESSION 停止工作?
【发布时间】:2023-03-07 15:56:02
【问题描述】:

如果这是一个愚蠢的问题,我深表歉意,但我正在开发一个电子商务网站并尝试使用 $_SESSION 将购物车项目存储在一个数组中。我的代码运行良好,但是当我们重新启动 Web 服务器时,$_SESSION 数组停止存储值。

这就是我们附加到 $_SESSION 数组的方式,它可以工作,但是一旦网络服务器重新启动,它似乎就不会存储或加载数据。

<?php
session_start();

$ProductID = $_GET['ProductID'];
$quantity = $_GET['Quantity']; 

if (empty($_SESSION['cart'])) {
    $_SESSION['cart'] = array();
}
array_push($_SESSION['cart'], $ProductID);

?>

换句话说,在重启之前我能够成功使用 Session...重启之后我根本无法在会话中存储任何值(它只是不会存储或加载值)。

感谢您的帮助.....

【问题讨论】:

  • 这在很大程度上取决于设置,特别是 session.save_handler 的配置方式(换句话说:会话数据的实际存储位置。files,db,memcache,...)

标签: php html session


【解决方案1】:

您可以使用 cookie,也可以将购物车商品保存在 db 上。只要用户不清除cookies,即使重启后cookies仍然可用。

【讨论】:

  • 这不是答案。这里提问者想知道他的服务器是否有存储会话的问题。
最近更新 更多