Is there a global cross-request cross-session state in PHP?

429 views Asked by At

I'd like to cache some data to be used by all my requests. I'd like an in-memory cache that would get flushed upon the change of a code file (the information is obtained by reflection, and changing the code file will probably invalidate it). Is this possible without 3rd party external services (like memcached)?

Added: I know that webservers like apache create several worker processes. It's OK if they each have their own cache.

2

There are 2 answers

1
JohnP On BEST ANSWER

Nope, PHP doesn't have an application scope like Java. The best you could do is session scope. However, you could easily setup something like Memcached to mimic application scope

1
Leon On

You could use APC's cache instead of memcached. For example the apc_add function. Unfortunately APC is not standard installed with php, so it's not really without a 3rd party external service.