我有一个带有数量1的独特商品的购物车应用程序 - 当用户将其中一个放入购物篮时我需要耗尽库存数量,以避免其他人购买它。问题是,如果他们在没有购买的情况下放弃购物车,我需要将物品放回库存中。
有没有办法在购物车会议到期时补充库存?即运行脚本来替换股票。
答案 0 :(得分:4)
您可以使用session_set_save_handler
创建自定义会话处理类。
执行此操作时,您可以决定在调用垃圾收集器时或在会话销毁时需要运行的其他操作。如果您决定使用垃圾收集器,请确保您也知道session.gc_divisor
和session.gc_probability
的值,并了解它们的作用(这些设置了垃圾收集器运行的概率)。
答案 1 :(得分:2)
避免需要cron工作;保持简单:
(time() + (60*20))
(这要求您更新数据库中的某种“最后活动”)
应该非常直接。
答案 2 :(得分:0)
创建数据库表以跟踪会话活动,例如sessions
。在其中,至少放置字段session_id
和名为last_activity
的DATETIME或TIME字段。
如果您还没有,请创建一个carts
表格,其中包含购物车的内容(例如product_id
和quantity
),并且链接指向{{ 1}}。然后,有两种情况:
session_id
表格中的行。carts
值是否超出您想要的值(比如说,超过一小时前)。使该脚本使用购物车中的数量重新计算您的供应量。请注意,您需要更新引导程序/加载程序中的last_activity
字段(在每个加载的页面上触发的机制)。