Глобальная переменная Zend в расширении, сохраняющемся в нескольких запросах - PullRequest
4 голосов
/ 06 сентября 2010

Как объясняется в заголовке, я хочу вести информацию по запросам от нескольких клиентов.Позвольте мне привести простой пример, чтобы объяснить, чего я хочу.Этот пример только для иллюстрации моего вопроса, а не для цели публикации.

Пример: я хочу подсчитать общее количество запросов, которые сервер уже получил от всех клиентов для разных сценариев php.Я имею в виду ПОЛНОЕ количество запросов от НЕСКОЛЬКИХ разных клиентов на НЕСКОЛЬКО РАЗНЫХ страниц.Теперь у меня будет расширение, которое читает этот глобальный счетчик и возвращает его для программиста PHP.

Сверхглобальные переменные, которые предоставляет zend, являются постоянными только для нескольких запросов от одного и того же клиента.Кто-нибудь знает, как и где хранить переменную, а также способ ее получения?

1 Ответ

1 голос
/ 06 сентября 2010

Единственный способ - использовать некоторую форму Межпроцессное взаимодействие .Например, вы можете использовать разделяемую память (но вам придется синхронизировать доступ к ней).

Помните, что наиболее распространенный способ запуска PHP - без поддержки потоков - несколько процессов, один процесс обслуживает только одного клиентавовремя.Причина в том, что PHP значительно быстрее в этой конфигурации.

...