sharing information across requests

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

I needed to share some configuration information across requests.
The most straightforward way would be code it in a php file and include it
in every other script.
The problem with this approach is, the configuration script is executed on
every request.
The configuration data once figured out by the script remains the same for a
host, but the script to figure out the data could be arbitrarily complex.
The only mechanism I have figured out so far is to use the
shm_attach ,shm_get_var etc functions to store a single php array with all
my config in sysv shared memory.
So, the code to figure out the config runs only once and then populates the
shared mem, after that in every request, the config is read from the shared

Is this the only way to do this stuff (the main reason for my posting here)
Essentially I am looking for something like a static member data in java
which would stay up as long as the class is loaded (which would be across
arbitrary number of requests). For example any java servlet class. The php
static stuff goes away after each request.
I was hoping that stuffing things into $_SERVER would retain things across
requests. No such luck.

Is there a better solution than the SysV shared mem api.

P.S. I am using 4.3.4 apache 2.x and 1.x on linux (Fedora Core 3)

Re: sharing information across requests

Can you serialize the configuration data into a database or text file?

- Kevin

Quoted text here. Click to load it

Re: sharing information across requests

Antony Sequeira wrote:
Quoted text here. Click to load it

That is what I do. I resigned myself to the fact that in a stateless web
application every request basically restarts the whole application all
over again (apart from possible persistent $_SESSION variables).

A few years ago I attended a talk about persistent PHP objects (it was
called "PHP Bananas", very clever, supposed to be the PHP version of
"Java Beans" if I understood things correctly), something that could
help to get more 'state' in web apps, but I don't know if that project
is still active or how far they got.

Quoted text here. Click to load it

I'm not familiar with those functions. Wouldn't a session also work in
your case (since you are only storing an array)?


Real e-mail address unavailable. 5000+ spams per month.

Re: sharing information across requests

 .oO(Antony Sequeira)

Quoted text here. Click to load it

This question was asked few weeks ago. See this thread for some answers:

where do you store app wide data?


Site Timeline