Re: how does the apache server and php interpreter handles request?

From: Gordon Burditt (gordonb.gaukb_at_burditt.org)
Date: 10/20/04


Date: 20 Oct 2004 01:44:40 GMT


>I'm wondering how the apache server and php interepreter handles
>request.
>If one request comes to apache server what is next procedure?
>if apache server passes the request to php interepreter and php
>interepreter handles?
>what if 10 requests comes at same time? apache server forks 10 php
>interepreter?

If you are using PHP as an Apache module, the PHP interpreter is
in the same process as Apache. There's no such thing as "forks 10
php interpreter". Apache just calls PHP.

If you are using PHP as a CGI (not recommended if you can use it
as a module), it gets invoked as a separate process once per request,
like any other CGI.

>or php interepreter makes 10 threads for each request?

Whether Apache itself uses multiple processes or multiple threads
varies with the version of Apache. I believe Apache 1.3.* uses
separate processes, although it (at least the recent ones) re-uses
the processes rather than starting new ones where possible (this
also implies that PHP startup can be re-used as well). Apache 2.*
makes more use of threads.

                                                Gordon L. Burditt



Relevant Pages