Re: [Catalyst] ”Non-root configuration” of lighttpd::FastCGI doesn't work with Catalyst-Runtime-5.90002

Tomas Doran bobtfish at bobtfish.net
Thu Dec 8 09:09:08 GMT 2011


On 7 Dec 2011, at 23:53, Charlie Garrison wrote:

> I've got the opposite problem from that solved in v5.90007. I'm  
> running lighttpd/1.4.26 (on centos) so the LighttpdScriptNameFix  
> middleware should not be needed. But when I updated staging server,  
> our app broke, and applying LighttpdScriptNameFix unconditionally  
> fixed it (edited apply_default_middlewares in Catalyst.pm).

Bugger.

>
> I don't understand SCRIPT_NAME and PATH_INO well enough to know what  
> *should* be happening. Where should I look to figure out why the  
> LighttpdScriptNameFix middleware still needs to be applied?

The relevant code is Catalyst::Engine::prepare_path

The most relevant tests are: t/aggregate/unit_core_engine-prepare_path.t


> Any suggestions?

If you can patch the prepare_path method to grab a dump of $c->engine- 
 >env for a few paths (basically / and a path below /) for your cases,  
and also the values for the output of $c->req->uri and $c->req->base  
which are wrong, then let me know (.diff on that test best, but just  
attaching a bunch of crap to a reply is also fine).

We'll see if we can work out how to get this working for everyone...

As a short term fix, however, instead of patching Catalyst, you're  
probably better off making a myapp.psgi and applying the middleware in  
that (as we won't stomp on it when you upgrade Catalyst)..

Cheers
t0m




More information about the Catalyst mailing list