You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rainer Jung <ra...@kippdata.de> on 2009/09/11 22:41:42 UTC

Using mod_fcgid without matching files (virtual)

In r814006 and r814017 I added a feature similar to Action ... virtual
in CGI to mod_fcgi:

By default it is off, but it allows to use FCGI processes in combination
with purely virtual URLs, i.e. URLs not pointing to physical files on
the server.

The most basic FCGI configurations simply run the files pointed to by
the URLs as FCGI processes. The improved version is mapping some
suffixes to a common FCGI process (like .php). The process then might
execute the actual php script (or find it in its cache).

Its quite possible though, that your URLs only logically transport the
kind of action you want, without really pointing to some file. Version
2.3.1 of mod_fcgid forces a file to exist, otherwise it returns an error.

The "virtual" feature allows to add the "virtual" flag to FCGIWrapper,
which then bypasses the file existence check for the request URL. Of
course we still need the wraper file the request gets mapped to via
FCGIWrapper.

This is very similar to the "virtual" keyword added to "Action".

Regards,

Rainer


Re: Using mod_fcgid without matching files (virtual)

Posted by Paul Querna <pa...@querna.org>.
On Fri, Sep 11, 2009 at 5:19 PM, Rainer Jung <ra...@kippdata.de> wrote:
> On 12.09.2009 01:44, Rainer Jung wrote:
>> On 11.09.2009 23:40, William A. Rowe, Jr. wrote:
>>> Rainer Jung wrote:
>>>> In r814006 and r814017 I added a feature similar to Action ... virtual
>>>> in CGI to mod_fcgi:
>>>>
>>>> By default it is off, but it allows to use FCGI processes in combination
>>>> with purely virtual URLs, i.e. URLs not pointing to physical files on
>>>> the server.
>>>>
>>>> The most basic FCGI configurations simply run the files pointed to by
>>>> the URLs as FCGI processes. The improved version is mapping some
>>>> suffixes to a common FCGI process (like .php). The process then might
>>>> execute the actual php script (or find it in its cache).
>>>>
>>>> Its quite possible though, that your URLs only logically transport the
>>>> kind of action you want, without really pointing to some file. Version
>>>> 2.3.1 of mod_fcgid forces a file to exist, otherwise it returns an error.
>>>>
>>>> The "virtual" feature allows to add the "virtual" flag to FCGIWrapper,
>>>> which then bypasses the file existence check for the request URL. Of
>>>> course we still need the wraper file the request gets mapped to via
>>>> FCGIWrapper.
>>>>
>>>> This is very similar to the "virtual" keyword added to "Action".
>>>
>>> Isn't this the same as using Action virtual, and associating the target
>>> of the Action command to mod_fcgid?  Any reason to reimplement this in
>>> several places?
>>
>> As far as I can see, Action only allows to map handlers and conten types
>> to scripts.
>>
>> mod_fcgid allows to use various FastCGI "applications" mapped by
>> individual path suffixes (e.g. .php4, .php5 via FCGIWrapper).
>>
>> Furthermore I wasn't actually successful in making Action and mod_fcgid
>> interoperate.
>
> OK, I can make it work using for example:
>
> AddHandler fcgid-example1 .fcgi
> AddHandler fcgid-example2 .fcgi2
>
> Action fcgid-example1 /fcgi/wrapper virtual
> Action fcgid-example2 /fcgi/wrapper2 virtual
>
> <Location /fcgi/>
>    SetHandler fcgid-script
>    Options +ExecCGI
> </Location>
>
> So now the question is: do we need the FCGIWrapper directive at all?
>

Just because mod_actions exists, doesn't mean we should promote its use.

The Confguration takes 6+ lines to configure soemthing like php, vs 1
line for mod_php.  Get it to something like 1-2 lines to configure
IMO, so that its not a 'configuration sniplet' to setup PHP under
fastcig, but rather a 'trivial configuration line'.

-Paul

Re: Using mod_fcgid without matching files (virtual)

Posted by Rainer Jung <ra...@kippdata.de>.
On 12.09.2009 01:44, Rainer Jung wrote:
> On 11.09.2009 23:40, William A. Rowe, Jr. wrote:
>> Rainer Jung wrote:
>>> In r814006 and r814017 I added a feature similar to Action ... virtual
>>> in CGI to mod_fcgi:
>>>
>>> By default it is off, but it allows to use FCGI processes in combination
>>> with purely virtual URLs, i.e. URLs not pointing to physical files on
>>> the server.
>>>
>>> The most basic FCGI configurations simply run the files pointed to by
>>> the URLs as FCGI processes. The improved version is mapping some
>>> suffixes to a common FCGI process (like .php). The process then might
>>> execute the actual php script (or find it in its cache).
>>>
>>> Its quite possible though, that your URLs only logically transport the
>>> kind of action you want, without really pointing to some file. Version
>>> 2.3.1 of mod_fcgid forces a file to exist, otherwise it returns an error.
>>>
>>> The "virtual" feature allows to add the "virtual" flag to FCGIWrapper,
>>> which then bypasses the file existence check for the request URL. Of
>>> course we still need the wraper file the request gets mapped to via
>>> FCGIWrapper.
>>>
>>> This is very similar to the "virtual" keyword added to "Action".
>>
>> Isn't this the same as using Action virtual, and associating the target
>> of the Action command to mod_fcgid?  Any reason to reimplement this in
>> several places?
> 
> As far as I can see, Action only allows to map handlers and conten types
> to scripts.
> 
> mod_fcgid allows to use various FastCGI "applications" mapped by
> individual path suffixes (e.g. .php4, .php5 via FCGIWrapper).
> 
> Furthermore I wasn't actually successful in making Action and mod_fcgid
> interoperate.

OK, I can make it work using for example:

AddHandler fcgid-example1 .fcgi
AddHandler fcgid-example2 .fcgi2

Action fcgid-example1 /fcgi/wrapper virtual
Action fcgid-example2 /fcgi/wrapper2 virtual

<Location /fcgi/>
    SetHandler fcgid-script
    Options +ExecCGI
</Location>

So now the question is: do we need the FCGIWrapper directive at all?

Re: Using mod_fcgid without matching files (virtual)

Posted by Rainer Jung <ra...@kippdata.de>.
On 11.09.2009 23:40, William A. Rowe, Jr. wrote:
> Rainer Jung wrote:
>> In r814006 and r814017 I added a feature similar to Action ... virtual
>> in CGI to mod_fcgi:
>>
>> By default it is off, but it allows to use FCGI processes in combination
>> with purely virtual URLs, i.e. URLs not pointing to physical files on
>> the server.
>>
>> The most basic FCGI configurations simply run the files pointed to by
>> the URLs as FCGI processes. The improved version is mapping some
>> suffixes to a common FCGI process (like .php). The process then might
>> execute the actual php script (or find it in its cache).
>>
>> Its quite possible though, that your URLs only logically transport the
>> kind of action you want, without really pointing to some file. Version
>> 2.3.1 of mod_fcgid forces a file to exist, otherwise it returns an error.
>>
>> The "virtual" feature allows to add the "virtual" flag to FCGIWrapper,
>> which then bypasses the file existence check for the request URL. Of
>> course we still need the wraper file the request gets mapped to via
>> FCGIWrapper.
>>
>> This is very similar to the "virtual" keyword added to "Action".
> 
> Isn't this the same as using Action virtual, and associating the target
> of the Action command to mod_fcgid?  Any reason to reimplement this in
> several places?

As far as I can see, Action only allows to map handlers and conten types
to scripts.

mod_fcgid allows to use various FastCGI "applications" mapped by
individual path suffixes (e.g. .php4, .php5 via FCGIWrapper).

Furthermore I wasn't actually successful in making Action and mod_fcgid
interoperate.

Regards,

Rainer

Re: Using mod_fcgid without matching files (virtual)

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Rainer Jung wrote:
> In r814006 and r814017 I added a feature similar to Action ... virtual
> in CGI to mod_fcgi:
> 
> By default it is off, but it allows to use FCGI processes in combination
> with purely virtual URLs, i.e. URLs not pointing to physical files on
> the server.
> 
> The most basic FCGI configurations simply run the files pointed to by
> the URLs as FCGI processes. The improved version is mapping some
> suffixes to a common FCGI process (like .php). The process then might
> execute the actual php script (or find it in its cache).
> 
> Its quite possible though, that your URLs only logically transport the
> kind of action you want, without really pointing to some file. Version
> 2.3.1 of mod_fcgid forces a file to exist, otherwise it returns an error.
> 
> The "virtual" feature allows to add the "virtual" flag to FCGIWrapper,
> which then bypasses the file existence check for the request URL. Of
> course we still need the wraper file the request gets mapped to via
> FCGIWrapper.
> 
> This is very similar to the "virtual" keyword added to "Action".

Isn't this the same as using Action virtual, and associating the target
of the Action command to mod_fcgid?  Any reason to reimplement this in
several places?