Bug #67606 [Asn]: FPM with mod_fastcgi/apache2.4 is broken after db537b1f commit

From: Date: Mon, 14 Jul 2014 08:40:40 +0000
Subject: Bug #67606 [Asn]: FPM with mod_fastcgi/apache2.4 is broken after db537b1f commit
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-186607@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67606&edit=1

 ID:                 67606
 Updated by:         ondrej@php.net
 Reported by:        ondrej@php.net
 Summary:            FPM with mod_fastcgi/apache2.4 is broken after
                     db537b1f commit
 Status:             Assigned
 Type:               Bug
 Package:            FPM related
 Operating System:   Linux
 PHP Version:        5.6.0RC2
 Assigned To:        dzuelke
 Block user comment: N
 Private report:     N

 New Comment:

David,

1) Debian has patched mod_fastcgi that works with Apache 2.4 if you need compilable source code: https://packages.qa.debian.org/liba/libapache-mod-fastcgi.html

2) I am not saying this has to be fixed in FPM, if you can come up with fix for mod_fastcgi, I think
it be sufficient.

Also "php-fcgi" is just a placeholder, it could be named "queen-of-england" and
it would work the same.  It just have to match the other parts of the config file and the important
part is the "FastCgiExternalServer".

Ondrej


Previous Comments:
------------------------------------------------------------------------
[2014-07-14 08:34:14] tyrael@php.net

thanks for the heads-up!

------------------------------------------------------------------------
[2014-07-11 16:04:45] dz at heroku dot com

To explain the issue a bit, the breakage seems to stem from intentionally broken or non-existant
paths handed to mod_fastcgi so it somehow knows to pass stuff to PHP-FCGI (it's all quite
hacky, as many comments on the Interwebs point out).

In more recent versions of Debian, apparently php-fcgi is the FPM, not the CGI binary. That's
why the FPM change affects this. People are using this approach because it was documented before FPM
existed.

The code that my PR removed basically inadvertently fixed up those paths even though it was meant to
address something totally different.

Will report back with more findings.

------------------------------------------------------------------------
[2014-07-11 15:47:33] dz at heroku dot com

Yes, agreed, I'm looking into it. Building mod_fastcgi with recent Apache versions is actually
a bit of a challenge, but no worries, we'll get there. Expect an updated patch soon; I want to
get a fix into RC3.

Who is that "dzuek" assignee guy though? ;)

------------------------------------------------------------------------
[2014-07-11 15:38:04] tyrael@php.net

David: the original premise on that pull request was that the removed parts shouldn't really
affect existing installations:
"Clearly, neither applies in the case of FastCGI, so both are safe to delete."
I would be glad if we could keep the compatibility with mod_fastcgi.

------------------------------------------------------------------------
[2014-07-11 14:26:14] dz at heroku dot com

He says he can't use mod_proxy_fcgi, because the Authorization header is stripped by mod_proxy,
but this is documented behavior.

He should simply add

SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

to his config.

With https://gist.github.com/progandy/6ed4eeea60f6277c3e39
(or Apache 2.4.10+) and 5.6.0RC2+, there are no more issues like double slashes or errors when
rewriting to PATH_INFO (see PR link below).

The "break" in question was caused by https://github.com/php/php-src/pull/694; it
fixes the issue described in https://bugs.php.net/bug.php?id=67541.

It also makes https://bugs.php.net/bug.php?id=65641 obsolete

mod_fastcgi is old, crappy, unmaintained, deprecated stuff. People should use mod_proxy_fcgi with
Apache 2.4.

I'll try and see if I can figure out a way of fixing the original issue without causing the
breakage described here (need to get mod_fastcgi working first, which isn't trivial
unfortunately).

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=67606


--
Edit this bug report at https://bugs.php.net/bug.php?id=67606&edit=1


Thread (11 messages)

« previous php.bugs (#186607) next »