Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?
We have an extension that forks a process from the initial Apache root
process and does privileged work. The regular Apache workers running as
'apache' communicate with this root process using a pipe and shared
memory. We need that root process running.
Anyway, I have a customer who is seeing the extension initialize,
everything starts up great, and then the extension deinitialization
routine is called. For any other extension this behavior probably goes
unnoticed because (I suspect) the Apache worker processes do not see the
deinitializtion. Only the root process (not sure about that). But for
our extension, we need the root process working so the deinitialization
kills our extension.
Is there some kind of Apache process model setting or something like
that or a bug that could cause the deinitialization routine to run?
Env is CentOS 4.4 with stock packages (PHP 5.1.6).
Any help with this would be greatly appreciated.
Mike
--
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/
Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?
It's an Apache thing. First it brings up all modules (like mod_php) to
figure out which settings it supports. Then it shuts down everything.
Then it starts the real start up process and initializes all modules
again.
regards,
Derick
--
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org
On Fri, 20 Apr 2007 09:20:26 +0200 (CEST)
Derick Rethans derick@php.net wrote:
Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?It's an Apache thing. First it brings up all modules (like mod_php) to
figure out which settings it supports. Then it shuts down everything.
Then it starts the real start up process and initializes all modules
again.
Hi Derick,
Is this behavior documented anywhere? I suppose I should just get on
the Apache list and ask there ...
Mike
--
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/
On Fri, 20 Apr 2007 09:20:26 +0200 (CEST)
Derick Rethans derick@php.net wrote:Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?It's an Apache thing. First it brings up all modules (like mod_php) to
figure out which settings it supports. Then it shuts down everything.
Then it starts the real start up process and initializes all modules
again.Is this behavior documented anywhere? I suppose I should just get on
the Apache list and ask there ...
Hmm, I don't know where this is documented. The Apache list might indeed
be the best medium to ask.
regards,
Derick
Michael B Allen wrote:
On Fri, 20 Apr 2007 09:20:26 +0200 (CEST)
Derick Rethans derick@php.net wrote:Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?
It's an Apache thing. First it brings up all modules (like mod_php) to
figure out which settings it supports. Then it shuts down everything.
Then it starts the real start up process and initializes all modules
again.Hi Derick,
Is this behavior documented anywhere? I suppose I should just get on
the Apache list and ask there ...
This question has probably been asked a hundred times on the Apache
lists. There really isn't much decent documentation out there on how to
write Apache modules. The Apache1 code is rather simple, so most people
just read the server code to figure it out. The closest thing to real
documentation is an old book called "Writing Apache Modules with Perl
and C" by Lincoln Stein and Doug MacEachern. You'll want to read
chapter 3 - "The Apache Module Architecture and API" where this
particular topic is covered.
-Rasmus
On Fri, 20 Apr 2007 01:57:45 -0700
Rasmus Lerdorf rasmus@lerdorf.com wrote:
Michael B Allen wrote:
On Fri, 20 Apr 2007 09:20:26 +0200 (CEST)
Derick Rethans derick@php.net wrote:Is there an Apache or PHP setting that would cause an extension to be
deinitilized in the initial root process on startup?
It's an Apache thing. First it brings up all modules (like mod_php) to
figure out which settings it supports. Then it shuts down everything.
Then it starts the real start up process and initializes all modules
again.Hi Derick,
Is this behavior documented anywhere? I suppose I should just get on
the Apache list and ask there ...This question has probably been asked a hundred times on the Apache
lists. There really isn't much decent documentation out there on how to
write Apache modules. The Apache1 code is rather simple, so most people
just read the server code to figure it out. The closest thing to real
documentation is an old book called "Writing Apache Modules with Perl
and C" by Lincoln Stein and Doug MacEachern. You'll want to read
chapter 3 - "The Apache Module Architecture and API" where this
particular topic is covered.
Well it doesn't sound like this is something they just started doing. My
PHP extension has been tested on numerous platforms and I have only ever
seen the PHP module initialization / deinitialization routines called
once on startup / shutdown. Even if the actual PHP module is loaded
and unloaded, do you call the (de)initialization routines for each
(unl)load? I'm not sure this issue is the issue I'm seeing.
Mike
--
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/
One word: SELinux
On Thu, 19 Apr 2007 23:46:08 -0400
Michael B Allen mba2000@ioplex.com wrote:
We have an extension that forks a process from the initial Apache root
process and does privileged work. The regular Apache workers running as
'apache' communicate with this root process using a pipe and shared
memory. We need that root process running.Anyway, I have a customer who is seeing the extension initialize,
everything starts up great, and then the extension deinitialization
routine is called.
--
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/