YII中的每个人都可以访问$ _SERVER存储吗?

时间:2013-02-16 15:10:45

标签: php yii

假设我有4个用户从4台不同的计算机登录。该网站是关于拍卖。每个拍卖的日期都是静态的。我可以这样做:

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

如果几个用户在cookie中具有相同的会话标识符,则会话中的数据只是一个选项。但这可能会导致一些严重的安全问题。

每次重新加载页面时,

$_SERVER数组似乎都会完全刷新。