Hi, all
       Improvement in the latest release:
You can group the php scripts by the resource they are using

For example: there are four PHP scripts: foo.php, bar.php, database1.php and
database2.php.  foo.php and bar.php are simple scripts that do not connect
to database, but database1.php and database2.php do.

In "share" mode, there is only one type of PHP fastcgi process, all .php
script will be run with any free fastcgi process, so, once database*.php is
called, the php fastcgi process will be "polluted", and a database
connection will be keep by this fastcgi php process.

If all .php are running with "non-share" mode, all .php scripts will be run
separately,  This will spawn unnecessary php processes, because foo.php and
bar.php can share one PHP process, database1.php and database2.php can share
another.

Now you can override this dilemma with the following configuration:

<Directory /usr/local/apache2/htdocs/php>
SetHandler fcgid-script
FCGIWrapper /usr/local/bin/php
FCGIWrapperGroup /usr/local/bin/php database1.php database2.php
Options ExecCGI
allow from all
</Directory>

Now database1.php and database2.php share one group of PHP processes, and
all other PHP scripts in /usr/local/apache2/htdocs/php share another.

By the way, you can setup many groups with multi-FCGIWrapperGroup setting.

Thanks

"Derick Rethans" <[EMAIL PROTECTED]> ????
news:[EMAIL PROTECTED]
> Hey,
>
> sounds cool, do you have any code to show as I'm interested in trying it
> out.
>
> regards,
> Derick
>
>
> On Mon, 5 Jul 2004, Qingfeng Pan wrote:
>
> > There are some advantages...
> > a) mod_fastcgi talk to PHP process with TCP socket, but this module  use
> > UNIX domain socket(or named pipe on Win32) instead. PHP with TCP socket
will
> > make Fastcgi-PHP not workable on Win32 (bug #27515 php -b still not
> > working). With the new module, -b options is *NOT* necessary, because
it's
> > now using named-pipe on Win32. I have tested the binary Win32 Installer
> > downloaded from official website.
> >     On the other hand, the performance is better while using UNIX domain
> > socket on UNIX platform.
> >     With mod_fastcgi, you will have to run Fastcgi-PHP separately from
the
> > web server in UNIX box. That mean you have to start some PHP processes
> > before Apache start, it's not a big deal, but not that "pure" like
mod_php.
> >
> > b) Spawn PHP process dynamically, that mean spawn a PHP process ONLY
when
> > incoming a new request or there is no enought FastCGI process. With
> > mod_fastcgi PHP, you have to run PHP separately and specify the PHP
process
> > number at the very beginning.
> >
> > c) Corrupt process detecting. With mod_fastcgi, every request is
commucating
> > throught a single TCP port, that mean the worker thread(or prefork
process)
> > of Apache does NOT know which FastCGI PHP process it's talking to. If
there
> > is something wrong with the PHP script, the worker thread knows there is
a
> > corrupt process there, but it can't tell which one is,
> >     With the new module, every fastcgi PHP process has a unique path
> > listening on. That makes it easy to kick out the corrupt fastcgi server.
> >
> > "Wez Furlong" <[EMAIL PROTECTED]> ????
> > news:[EMAIL PROTECTED]
> > > We already have a fastcgi module... why do we need another apache2
> > > specific thing?
> > >
> > > --Wez.
> > >
> > > On 5 Jul 2004 05:43:47 -0000, Qingfeng Pan <[EMAIL PROTECTED]> wrote:
> > > > add an Apache2 fastcgi module for PHP(fastcgi.coremail.cn), I hope
it
> > will be released with PHP 5.1 branch
> > > >
> > > > --
> > > > PHP Internals - PHP Runtime Development Mailing List
> > > > To unsubscribe, visit: http://www.php.net/unsub.php
> > > >
> > > >
> >
> >

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to