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

From: Date: Mon, 14 Jul 2014 08:34:14 +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-186606@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: tyrael@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: thanks for the heads-up! Previous Comments: ------------------------------------------------------------------------ [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). ------------------------------------------------------------------------ [2014-07-11 07:36:04] ondrej@php.net Description: ------------ As reported in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754384 Reverting db537b1f fixes the issue. Test script: --------------- mod_fastcgi configuration: AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization Expected result: ---------------- Page interpreted and loaded. Actual result: -------------- After the upgrade, every PHP page displays "file not found" and I get this error in /var/log/apache2/error.log: FastCGI: server "/usr/lib/cgi-bin/php5-fcgi" stderr: Primary script unknown ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67606&edit=1

« previous php.bugs (#186606) next »