Variables Application de ASP en PHP
En ASP existen las variables “Application”, parecidas en funcionamiento a las sesiones, pero que son compartidas por todos los usuarios. Es decir, como variables de sesión pero visibles en todas las sesiones del servidor.
Este tipo de variables tiene algunos usos interesantes, siendo el ejemplo clásico el del contador de usuarios. Como la variable es compartida por todos los scripts, es muy fácil registrar la cantidad de hits de un sitio, o las sesiones creadas para intentar contabilizar los usuarios distintos.
En fin, hace unos días estoy desarrollando una extensión para PHP 5, justamente para tener este tipo de variables Application. Se trata de un módulo de PHP como cualquier otro. La magia de las variables compartidas se realiza con shared memory de la biblioteca libmm.
Actualmente tengo funcionando una versión prototipo en Debian Lenny, Apache 2.2.12 y PHP 5.3.0. Por funcionar con shared memory se precisa tener PHP como módulo de Apache (no CGI) y a éste funcionando en modo worker (no prefork). Además, PHP debe haber sido compilado con –with-mm, lo que hace que no funcione en entornos thread safe si usamos además el módulo session…
En realidad este es un llamado a la solidaridad, para quienes estén más familiarizados con las distintas variedades MPM de Apache y también para realizar algo de testing en alguna plataforma Windows. ¿Interesados?
He llamado al módulo “appvar” y las funciones que provee esta ínfima versión 0.1 son:
- appvar_set(”mi_variable”,”mi_valor”);
- appvar_get(”otra_variable”); //se conserva en memoria, y visible por todos los scripts!
- appvar_unset(”cual_variable”);
Además cuenta con lock y unlock, todavía no implementado.

