Re: Session management module - thoughts

From: Date: Fri, 28 May 1999 15:27:31 +0000
Subject: Re: Session management module - thoughts
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-6166@lists.php.net to get a copy of this message
On Fri, 28 May 1999, Rasmus Lerdorf wrote: > > Looking at PHP 4.0, one of the only major issues in which it falls behind > > ASP is internal session management. > > I know Rasmus always said this stuff belongs in user space, but basically, > > my opinion is that anything that more than a few people use, is better off > > being written in native C. > > It's one of those marketing checkmark features that I do agree are > important. Basically if you are writing a database-driven site, tossing > in a cookie and storing user data alongside your other data is pretty > simple. But for Joe User out there, having a simple session mechanism > would be a good idea. agree;-) > > > What I have in mind is a KISS approach to sessions, through a built-in PHP > > module. For information storage - use files. Implement functions that > > start a session, that add variables to a session, and possibly that end a > > session. At request_shutdown, simply store all variables that were > > registered as session varaibles in a file, named after a unique key that's > > generated by the session starter, and passed along through cookies (I > > think it'll be fair to rely on cookies, and point people that don't trust > > cookies to phplib's session support). > > ASP's session support is cookies-only as far as I know so we can just say > that PHP has session support that is on-par with ASP. > > > In essence, assuming we have working serialize functions, all we have to > > implement is file locking support and something that will clean up old > > sessions, neither of which are beyond us. > > Why do we need to lock? Assuming each session gets its own unique file > there should theoretically never be more than one process reading/writing > that file. Do you mean to make sure the session cleaning thing doesn't > clean an active session? We could just check stat.m_time on the file or > something. > > The locking worries me a little bit because a lot of big sites have their > web pages on NFS-mounted partitions and the lockd/statd locking for NFS is > crappy. If we do need to lock, we might want to make sure we have some > way to define a session_directory in php3.ini and add a little hint > telling people to point this at a non-NFS location. locking is fairly important 'cause if you have a frameset with two "session" pages loading at the same time you might run into the situation where: 1. page one starts loading (session loaded) 2. page two loads quick (loads env, changes it, stores it) 3. page one finished loading and overwrites page twos (is that right;-) session vars. so, i think we need to do somathing "smart" about this. tc > > -Rasmus > > > -- > PHP Development Mailing List http://www.php.net/ > To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net > For help: php-dev-help@lists.php.net > > > Thies C. Arntzen "One Big-Mac, Small Fries and a Coke!" Digital Collections Phone +49 40 235350 Fax +49 40 23535180 Hammerbrookstr. 93 20097 Hamburg / Germany -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#6166) next »