Re: PHP and a general problem understanding fastcgi

Benjamin Podszun <ben-/[email protected]>
Newsgroups gmane.comp.web.fastcgi.devel
Message-ID <[email protected]>
First of all: Thanks for your patience and support. I hope this (and the 
resulting FAQ entry) helps others as well.

David Birnbaum wrote:
> On Wed, 13 Jul 2005, Benjamin Podszun wrote:
> 
>> Thanks for your comments here. I thought I understand what you mean 
>> and tried the following:
>>
>> FastCgiServer /var/www/default/php/php -user web-default -group 
>> web-users -socket default
> 
> 
> This should be out of scope of the vhost - but map to the vhost.
> 
> So, set up the VHost something like this:
> 
>   <VirtualHost 1.2.3.4:80>
>     DocumentRoot /var/www/1.2.34
>     User blah
>     Group blahgrp
> 
>     <Location /php/php>
>       SetHandler fastcgi-script
>     </Location>
>     Action php-fastcgi /php/php
>   </VirtualHost>
> 
> So this sets up FastCGI properly for Dynamic mode, I think (although you 
> probably need to enable FastCgiWrapper.  If you want a static server, 
> then you put this OUT of scope (because it's server wide):
> 
>   FastCgiServer /var/www/1.2.3.4/php/php -user web-default -group web-users
> 
> which will create the instance.  You can then multiply these like so:
> 
>   FastCgiServer /var/www/blah.com/php/php -user blah -group blahgrp
>   FastCgiServer /var/www/foo.com/php/php -user foo -group foogrp
> 
> And they will work, as long as php/php is set up as a php-fastcgi action 
> within the relevant vhosts (blah.com, foo.com).  If you want only ONE 
> server, then change things like so:
> 
>   FastCgiServer /var/www/1.2.3.4/php/php -user web-default -group 
> web-users -port 9050
>   FastCgiExternalServer /var/www/blah.com/php/php -host localhost:9050
>   FastCgiExternalServer /var/www/foo.com/php/php -host localhost:9050
> 
> which will have one "real" instance and two "fake" instances that are 
> handled internally.

Okay - I tried to map this instructions to my setup, but I still get the 
error:

The requested URL /fast-cgi/default/php/test/index.php was not found on 
this server.

My setup:

General config:

FastCgiWrapper On
FastCgiIpcDir /tmp/fastcgi
FastCgiServer /var/www/default/php/php -user web-default -group 
web-users -socket default
FastCgiExternalServer /fast-cgi/default/php -user web-default -group 
web-users -socket default

I want a single default php instance and share that for default 
hosts/applications. I read those lines above as "create a static server 
of '/var/www/default/php/php' with the given user and group and connect 
a virtual application '/fast-cgi/default/php' to this instance". Right 
so far?

In my vhost I'm having this:

AddHandler php-fastcgi .php
<Location /fast-cgi/default/php>
   SetHandler fastcgi-script
</Location>
Action php-fastcgi /fast-cgi/default/php

Which I read as "Add a handler called 'php-fastcgi' for files ending 
with '.php', handle all requests to the location '/fast-cgi/default/php' 
as fastcgi script and call '/fast-cgi/default/php' for every request of 
the php-fastcgi handler.. Wouldn't that do what I want?

>> I'd love to - but right now I can only come up with ways that _don't_ 
>> work.. Something like a "Don't try the following" FAQ.. ;-)
> 
> 
> Well, we'll work on that  ;)  Dang it, I wrote that FAQ entry a few 
> years ago and haven't looked at it since!

Wee.. ;) Well, I guess it could need some love. I really do like reading 
documentation, so this is not about being to lazy to search or something 
like that. It's just quite hard to figure it out being completely on 
your own..

Thanks again for your response/help,
Ben
___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.