Re: PHP extension initialisation
| From: | Tom Oram | Date: | Wed, 21 Aug 2002 12:22:16 +0000 |
| Subject: | Re: PHP extension initialisation | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-87226@lists.php.net to get a copy of this message | ||
I had already assumed what Pete said was happening was happening, but I still
don't know how to tell whether I'm in the first one (apache test) or the second
(real init). Any ideas?
Tom
On Wed, 21 Aug 2002, you wrote:
> Hi,
>
> I asked about this a few weeks ago with apache on windows.
>
> The best answer I got was from George Schlossnagle:
>
> <quote>I believe this is because when apache does it's intial configtest run
> as
> part of start (to validate it's config), it has to do a complete startup
> (otherwise it wouldn't know about conf params used by modules loaded as
> DSOs. So you see a startup; shutdown; startup.</quote>
>
> that's exactly what I saw happen so seeing as shutdown occurs as well it
> wasn't a problem in my case.
>
>
> Pete
>
> ------
> "Tom Oram" <tom@scl.co.uk> wrote in message
> news:02081514564300.00816@tom.localdomain...
> On Thu, 15 Aug 2002, you wrote:
> > --- Tom Oram <tom@scl.co.uk> wrote:
> >> Hi,
> >> Can someone please answer my question?
> >>
> >> When running a PHP extension when PHP is running as an apache module on
> linux
> >> it's module init function (PHP_MINIT_FUNCTION) gets called twice, once
> before
> >> apache forks then once after, is there any way of finding out which
> >> init you are in. I can't keep a global variable because it get losted in
> >> between init calls, and environment vars/file locks/shared mem/semephores
> are
> >> not options.
> >
> > Are you on Windows IIS? I believe someone recently just asked about that
> same
> > thing. There was a valid explination for it.
>
> No linux, I did say ;), but thanks anyway.
> The question still stands open, anyone?
>
> >> One other quicky, is there a way to find out inside the extension if it
> is
> >> being run from with an apache module or its it a standalone executable
> (or
> >> running under a different webserver as my module can only ever run with
> >> apache)?
> >
> > I believe you could
> > #include "SAPI.h"
> >
> > if(!strcmp(sapi_module.name, "cgi") || strcmp(sapi_module.name,
> > "cli")) {
> > printf("compiled as a command line executable");
> > }
>
> This is probably what I need thanks
>
> >>
> >> Thanks for your time,
> >> Tom
> >>
> >> --
> >>
> >> ***************************************************
> >> Tom Oram
> >> SCL Computer Services
> >> URL http://www.scl.co.uk/
> >> ***************************************************
> >>
> >> --
> >> PHP Development Mailing List
> >> <http://www.php.net/>
> >> To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > HotJobs - Search Thousands of New Jobs
> > http://www.hotjobs.com
> --
>
> ***************************************************
> Tom Oram
> SCL Computer Services
> URL http://www.scl.co.uk/
> ***************************************************
> --
>
> ***************************************************
> Tom Oram
> SCL Computer Services
> URL http://www.scl.co.uk/
> ***************************************************
--
***************************************************
Tom Oram
SCL Computer Services
URL http://www.scl.co.uk/
***************************************************