在不同的用户/会话之间共享PHP变量

6

我希望有一个变量,对于访问系统的所有不同用户/客户端,它的值都是相同的。

此外,该变量的值必须可修改。

例如,如果任何一个用户更改了该值,则该更改必须反映到所有其他用户身上。


揭示这个变量的目的可以帮助很多。 - Your Common Sense
2个回答

6

将变量存储在共享空间中,例如

  • 文件

  • 数据库记录(实现锁定最简单,见下文)

  • memcache 桶

您可以在那里轻松修改它。当多个用户同时尝试编辑值时,您可能需要使用某种锁定机制来防止竞态条件


2
你最后说的是,他实际上不应该使用除了数据库之外的任何其他东西。这个问题已经得到解决了。其他解决方案提供的方法都无法很好地扩展。 - Artefacto
@Artefacto 是的,没错。文件锁定很麻烦。但他可能不想或不能使用数据库。 - Pekka
@Nikunj 不,仅使用 PHP 变量是不可能的。会话变量无法在用户之间共享。 - Pekka
Pekka,什么是memcache bucket?我指的是获取相关概念的链接? - nikunj
@Nikunj http://www.php.net/memcache 但它需要在PHP中安装特定的模块。如果您不能使用文件或数据库,则基于memcache的解决方案可能更不受欢迎。 - Pekka

4

只需使用数据库表来存储该值。

这是在Web应用程序中存储持久的应用程序级数据的最简单方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接