ID:               19694
 Comment by:       jon_obuchowski at terc dot edu
 Reported By:      citd at mediaways dot net
 Status:           Open
 Bug Type:         Feature/Change Request
 Operating System: N/A
 PHP Version:      4.2.3
 New Comment:

I agree that a persistent variable functionality would 
be useful; however, this does require an additional 
level of configuration to allow ISPs soem leeway in how 
this is deployed;
a) availabilty of feature AT ALL determined by 
configuration
b) separate scopes for different applications (as 
several may be running on the same server and there 
needs to be some way to prevent collision); these 
scopes may be determined by name (low inter-application 
security), automatically by domain/URL path (higher 
security) or by some other means
c) timeout periods (i.e. how often the application 
variables need to be refreshed) need to be determined 
on a per-server, per-application basis
d) some sort of locking mechanism to prevent corruption 
issues during writing (assuming that multiple 
concurrent PHP requests have similar shared-memory 
issues to concurrent threads); this could be automatic 
and/or manual, depending on performance needs...


Previous Comments:
------------------------------------------------------------------------

[2004-03-26 14:17:13] hans at deragon dot biz

2004 and still nothing showing up for this issue.  I am a newbie, but
even I (less than one month of PHP experience) understand the
importance of this issue.  One could do something with shared memory
and msession, but these solutions are overkill for small projects (and
shared memory does not work on Windows).  What we need is a simple
global array named $_PERSISTENT.  Anything stored in this array lives
until unset or the server goes down.

And as for the implementation, can't this be done easily?  I mean,
$_SESSION exists already and the only difference between $_SESSION and
$_PERSISTENT is that $_SESSION is associated with a session (cookie or
URL based).  Just reuse the same code for $_SESSION, but without the
user association code and voilĂ , a new feature is born.

$_PERSISTENT would be so intuitive to use to newbies, as $_SESSION is.

------------------------------------------------------------------------

[2003-02-20 12:29:50] okapi at yahoo dot com

I'm suprised why something along these lines isn't incorporated into
PHP such that there's an application process that could handle
application scope variables (and query caching). It seems this kind of
issue would make it match up better with ASP and Cold Fusion. Is anyone
aware of such an effort?

------------------------------------------------------------------------

[2002-10-02 03:16:56] citd at mediaways dot net

Thinking at Shared memory data-interchaning comes to my mind. (OK SSJS
can interchange data via the project-variable. But, at leat in our
project, i can't see the point for this.)

For our project a global and persistent variable is important for
SPPPPPEEEEEDDDDDD (and cost. We don't have to buy more
frontend-machines to compensate the performance losse of PHP compared
to SSJS). Having to parse the configuration for every request just
kills the performance.

------------------------------------------------------------------------

[2002-10-01 12:23:18] [EMAIL PROTECTED]

what about using shared memory?

http://www.php.net/manual/en/ref.sem.php
http://www.php.net/manual/en/ref.shmop.php

------------------------------------------------------------------------

[2002-10-01 10:19:10] citd at mediaways dot net

In "Serversite Javascript" exists the (global) "project" variable. The
content of this variable is persistent as long as the Web-Server isn't
restarted.

This concept is IMHO great for e.g. configuration-variables. Load the
configuration once and be done with it until the web-server is
restarted.

In a project i'm assigned to the configuration is stored in a
Oracle-DB. As the configuration must only be parsed once after
restarting the web-server the cost of about 2 seconds is no problem at
all. In PHP we would have to do this every time a uses requests a page,
which is to costly. Currently seems like we have to make an external
"Configuration2PHP"-Script which fetches the current configuration and
makes a static (PHP-)file out the configuration.
(The "application" is "stateless", so it can't be achieved over a
session. (->reading the config-reading once per user). And the
application is running on many web-servers. With the stateless design
the load-balancing is easier as you don't have to "bind" a session to a
specific web-server or making a DB-Session or something similar. And you
don't have problems with expired/stalled sessions.)

"Better(tm)" would be if a concept like a persistent variable is
introduced. IMO others would appreciate that too. :-)

------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=19694&edit=1

Reply via email to