Re: PHP C++ extension on Windows: setting the working directory the same as PHP

From: Date: Wed, 02 Apr 2014 13:25:37 +0000
Subject: Re: PHP C++ extension on Windows: setting the working directory the same as PHP
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-73518@lists.php.net to get a copy of this message
On Wed, 2014-04-02 at 14:14 +0100, O'Neil Delpratt wrote: > Hi, > > I am having trouble getting the correct working directory in the C/C++ > code of my PHP extension. It should be the same as the PHP working > directory, but it is not. [...] > In linux the C function getcwd() does as expected. It is the same as > the PHP cwd, but on windows it always uses the “C:\Program Files > \Apache software Foundation\Apache2.2”, > whereas in my php script the call ‘echo getcwd();’ returns “C:\www > \html” as expected. when using Apache on Windows you are using mod_mpm which is a threaded environment. Thus there is one process which might serve multiple requests in different threads. Each thread needs (from user perspective) its own working directory, thus our thread isolation library, TSRM, provides an API for that: VCWD_GETCWD. Please see TSRM/tsrm_virtual_cwd.h for more related APIs. Mind: In 5.6 this has been moved to Zend/zend_virtual_cwd.h johannes

« previous php.internals (#73518) next »