2010-09-05 65 views
4

正如标题所解释的,我希望跨多个客户端的请求维护一个信息。让我举个简单的例子来解释我想要的。这个例子只是为了说明我的问题,而不是这篇文章的目的。支持多个请求的扩展中的Zend全局变量

例如: 我想统计一个服务器到目前为止对不同的php脚本的所有客户端的请求总数。我指的是来自多个不同客户端的多个不同页面的请求总数。我现在将拥有一个读取全局计数并将其返回给PHP程序员的扩展。

zend提供的超级全局变量在来自同一客户端的多个请求中是持久的。有谁知道如何以及在哪里存储变量以及检索它的方式?

回答

1

唯一的方法是使用某种形式的Inter-process communication。例如,你可以使用共享内存(但你必须同步对它的访问)。

记住运行PHP的最常见方式是没有线程支持 - 多个进程,每个进程一次只能为一个客户端提供服务。原因是PHP在这种配置中速度更快。

+0

但是,在哪里以及如何在php-ini配置文件中加载配置?你确定没有一个地方可以让全局变量持续来自不同客户端的多个请求吗? – 2010-09-06 03:31:21

+0

@Kar很多东西在多个请求中都存在,但它不在几个PHP进程之间共享。 – Artefacto 2010-09-06 03:42:10

+0

我明白你的意思了。因此,在创建Php-ini文件时,这些值将被进程读取。这意味着如果创建了三到五个httpd进程,则在创建进程时读取所有初始化信息是否是? – 2010-09-06 04:36:48