Bug #62172 [Com]: FPM not working with Apache httpd 2.4 balancer/fcgi setup
Edit report at https://bugs.php.net/bug.php?id=62172&edit=1
ID: 62172
Comment by: matt at haught dot org
Reported by: jdr at alexanderinteractive dot com
Summary: FPM not working with Apache httpd 2.4 balancer/fcgi
setup
Status: Assigned
Type: Bug
Package: FPM related
Operating System: CentOs 6
PHP Version: 5.4.3
Assigned To: tony2001
Block user comment: N
Private report: N
New Comment:
I added patch fpm-balancer-v3. The most recent version of apache24 appear to now remove the prefix.
So the the removal of the query string needs to be moved out of the code that catches the prefixes
otherwise it will not be applied. Older apache24 will work the same and the newer version will just
have the query string cut off.
I put in a pull request that I will continue to keep up-to-date.
https://github.com/php/php-src/pull/1197
Previous Comments:
------------------------------------------------------------------------
[2015-04-28 05:22:24] quan at quanphuong dot com
Just a note: fpm-balancer-v2 patchs worked well.
------------------------------------------------------------------------
[2014-10-03 22:13:11] stefan at eriksson dot cn
Any news on this? Debian with Jessie coming out is depending on this to get load balancing of
multiple php-fpm backends over tcp from one single apache instance.
------------------------------------------------------------------------
[2014-02-01 19:50:47] matt at haught dot org
Adding copied "ignore query string if sent by Apache (RewriteRule)" bit of code in
fpm-balancer-v2 patch fixes the query problems with apache-2.4.6 proxy balancer when using
ProxyPassMatch. Without it a request for test.php works but test.php?q=1 fails with file not found.
------------------------------------------------------------------------
[2012-05-28 01:09:30] jdr at alexanderinteractive dot com
I added a quick patch that just duplicates some of the committed proxy:fcgi code. It seemed to work
for me.
Unfortunately there still seems to be at least 1 issue on the apache side.
When adding query strings to a php page, I get 404s. This works fine without the balancer set up.
It could be related to this bug https://issues.apache.org/bugzilla/show_bug.cgi?id=51077
------------------------------------------------------------------------
[2012-05-27 22:27:00] jdr at alexanderinteractive dot com
Description:
------------
See bug https://bugs.php.net/bug.php?id=54152
for a description of almost the exact same problem.
PHP now does recognize the proxy:fcgi Apache httpd 2.4 adds to the SCRIPT_FILENAME but it does not
recognize proxy:balancer
Test script:
---------------
Example of working apache 2.4 config
RewriteRule ^/?(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/usr/local/home/magento/app/current/$1 [P,L]
Example of non-working apache 2.4 config
<Proxy balancer://magento/>
BalancerMember fcgi://localhost:9000/
</Proxy>
# Serve PHP through php-fpm:
RewriteRule ^/?(.*\.php(/.*)?)$ balancer://magento/usr/local/home/magento/app/current/$1 [P,L]
Expected result:
----------------
I expect the same results from both apache configurations
Actual result:
--------------
I get a 404 on all php pages when using balancer
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62172&edit=1
Thread (9 messages)