Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 扩展中的Zend全局变量跨多个请求持久化_Php_Php Extension_Php Internals - Fatal编程技术网

Php 扩展中的Zend全局变量跨多个请求持久化

Php 扩展中的Zend全局变量跨多个请求持久化,php,php-extension,php-internals,Php,Php Extension,Php Internals,正如标题所解释的,我希望跨多个客户端的请求维护一个信息库。让我举一个简单的例子来解释我想要什么。这个例子只是为了说明我的问题,而不是本文的目的 例如: 我想计算服务器到目前为止从不同php脚本的所有客户端收到的请求总数。我指的是来自多个不同客户端的多个不同页面的请求总数。现在我将有一个扩展,它读取全局计数并将其返回给PHP程序员 zend提供的超级全局变量仅在来自同一客户机的多个请求之间保持不变。有人知道如何存储变量以及如何检索变量吗?唯一的方法是使用某种形式的函数。例如,您可以使用共享内存(但

正如标题所解释的,我希望跨多个客户端的请求维护一个信息库。让我举一个简单的例子来解释我想要什么。这个例子只是为了说明我的问题,而不是本文的目的

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


zend提供的超级全局变量仅在来自同一客户机的多个请求之间保持不变。有人知道如何存储变量以及如何检索变量吗?

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


请记住,运行PHP最常见的方式是不支持线程—多个进程,一个进程一次只为一个客户机服务。原因是PHP在这种配置中的速度要快得多。

但是在哪里以及如何加载配置,比如PHP ini配置文件中的配置?你确定没有一个全局变量可以在来自不同客户端的多个请求之间持久化的地方吗?@Kar很多东西是在多个请求之间持久化的,但它不是在几个PHP进程之间共享的。我明白你的意思了。因此,在创建PHPINI文件时,进程将读取这些值。也就是说,如果创建了三到五个httpd过程,则在创建过程中会读取所有初始化信息,是吗?