【问题标题】:Zend Global Variable in an Extension Persisting Across Multiple Requests跨多个请求的扩展中的 Zend 全局变量
【发布时间】:2011-04-08 13:48:23
【问题描述】:

正如标题所解释的,我想跨多个客户的请求维护信息。让我举一个简单的例子来解释我想要什么。此示例仅用于说明我的问题,而不是帖子的目的。

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

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

【问题讨论】:

    标签: php php-extension php-internals


    【解决方案1】:

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

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

    【讨论】:

    • 但是php-ini配置文件中的配置是在哪里以及如何加载的呢?您确定没有一个全局变量可以在来自不同客户端的多个请求中持续存在的地方吗?
    • @Kar 很多东西在多个请求中被持久化,但它不是在几个 PHP 进程之间共享的。
    • 我明白你在说什么。因此,Php-ini 文件中的这些值在创建时由进程读取。这意味着如果创建了三到五个 httpd 进程,则在创建进程时会读取所有初始化信息是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    相关资源
    最近更新 更多