0

假设我有 4 个用户从 4 台不同的机器登录。该网站是关于拍卖的。每次拍卖的日期保持不变。我可以做这样的事情:

$_SERVER['auctions'][0]['name'] = 'Auction 1';

然后如果 4 个用户中的任何一个登录,就会有这段代码:

print $_SERVER['auctions'][0]['name'];

所有 4 会看到相同的结果?换句话说,这是某种全局内存,我可以使用它来缓存不经常更改的内容吗?还是有更好的方法来做到这一点?

4

2 回答 2

1

PHP 使用 $_SERVER 变量来返回有关您的网络服务器和基于服务器的信息的信息,它不是存储数据的地方。每次脚本运行时都会生成 $_SERVER 的内容,并且没有任何内容可以存储在那里并在脚本的另一个实例中检索。

您可以使用memcached 之类的东西来存储常见数据。memcached 作为共享内存/缓存的一种形式工作,易于安装和使用。您还可以构建一个数组并序列化为一个文件并像 json_encode => file_put_contents 一样重新加载它以保存和 file_get_contents => json_decode 以检索它。避免会话,因为它们是每个用户的,不适合您在多个用户之间共享的要求。

于 2013-02-16T15:20:04.273 回答
0

我认为您应该将拍卖存储在数据库中。

如果多个用户在 cookie 中具有相同的会话标识符,那么在会话中存储数据只是他们的一种选择。但这可能会导致一些严重的安全问题。

$_SERVER每次重新加载页面时,数组似乎都会完全刷新。

于 2013-02-16T15:18:07.497 回答