0

我是一名php开发人员。在 .NET 中,我们能够将数据存储在服务器中的一个变量中。

有可能我们可以在 apache 服务器中存储一个数组并得到它吗?

我现在在我的 WAMP 上使用 php_memcache.dll

$memcache_obj = memcache_connect('localhost',80);

memcache_set($memcache_obj, 'var_key', 'some variable', MEMCACHE_COMPRESSED , 0);

echo memcache_get($memcache_obj, 'var_key');

当我这样做时 memcache_set 返回 false 并给出警告

Notice: memcache_set() [function.memcache-set]: Server localhost (tcp 80) failed with: Failed reading line from stream (0) in abc file
4

2 回答 2

1

我认为有一个误解。

有可能我们可以在 apache 服务器中存储一个数组并得到它吗?

不是在 Apache 中,而是在memcached(它也是一个服务器,又名“内存缓存守护进程”== memcached)中。
Apache 和 memcached 是不同的东西。它们共存。

我现在在我的 WAMP 上使用 php_memcache.dll

好的,这是 memcache 的客户端库。它为您提供 PHP 中的memcache_set()memcache_get()函数。

它不会自动提供 memcache 服务器。在此处阅读有关如何在 Windows 环境中设置 memcache 的信息。Memcache 最初并不是为了支持 windows 而开发的,但它有一个移植版本。

正确设置后,您将需要更改第一行:

$memcache_obj = memcache_connect('localhost',80);

Port 80 is HTTP, which is served by Apache - memcache runs on port 11211 in most default setups:

$memcache_obj = memcache_connect('localhost', 11211);
于 2012-05-09T10:30:23.663 回答
0

在 php5 中可以写入服务器变量(即 $_SERVER['foo']),但是在下一页请求时它将完全删除。要保存特定的用户变量,您可以使用 session_start() + $_SESSION 方法。当然,这仅适用于该特定用户。但是要让用户操作设置一个变量;然后可以与站点上的任何其他用户相关联,如果没有数据库存储,您将需要使用诸如memcached之类的应用程序。

于 2012-05-09T07:00:20.793 回答