Re: Re: Current working directory and multi-threaded environments

From: Date: Wed, 15 Mar 2000 19:53:55 +0000
Subject: Re: Re: Current working directory and multi-threaded environments
References: 1 2  Groups: php.dev 
Request: Send a blank email to php-dev+get-16858@lists.php.net to get a copy of this message
On Wed, Mar 15, 2000 at 09:30:19PM +0200, Andi Gutmans wrote: > On Wed, 15 Mar 2000, Sascha Schumann wrote: > > On Wed, Mar 15, 2000 at 02:21:51PM -0500, rubys@us.ibm.com wrote: > > > > > > > > > >> I'm not sure if I need to do the real getcwd() per-request or if doing > > > it > > > >> on PHP startup once is good enough. > > > > > > > >Why should a threaded web server change its per-process > > > >work directory? > > > > > > I'm confused. getwd doesn't change the working directory, right? > > > > We are talking about reacting (getcwd) to an action by the server (chdir). > > > > Fortunately, this action does not take place. > > > > I think we should always start with cwd = dirname(executing_script). > > > > (Perhaps the code fragment you posted does that.) > > > > That would mean that we do not need to execute getcwd at all. > > > > Thoughts? > > If we do one single getcwd on PHP module startup and use that to > initialize every requests cwd everything should work out of the box. Using > your approach would mean that we might have to dig into the > fopen_wrappers() and all of PHP to fix things with break. I really don't > want to do this. > If we can just emulate what chdir() and getcwd() are doing now, we would > in a very short time have a working PHP. You are probably meaning the same thing as I do, while looking at the problem from another perspective. If we simply "emulate" chdir/getcwd, we enable the SAPI modules to chdir to the dirname of the executing script. This will usually replace the default cwd (i.e. the result of an initial getcwd()). - Sascha

« previous php.dev (#16858) next »