2010-09-05 66 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