the SCRIPT_FILENAME may contains the QUERY_STRING.
Ex : RewriteRule ^(.*)\.php$ fcgi://127.0.0.1:9000/$1.php [P]
From apache debug (build with -DFCGI_DUMP_ENV_VARS)
AH01062: sending env var 'SCRIPT_FILENAME' value 'proxy:fcgi://127.0.0.1:9000/var/www/html/info.php?foo'
AH01071: Got error 'Primary script unknown\n'
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2013, PHP 5.4.16
+- FPM:
+ . Ignore QUERY_STRING when sent in SCRIPT_FILENAME. (Remi)
+
?? ??? 2013, PHP 5.4.15
- Core:
. Fixed bug #64578 (debug_backtrace in set_error_handler corrupts zend heap:
#define APACHE_PROXY_FCGI_PREFIX "proxy:fcgi://"
/* Fix proxy URLs in SCRIPT_FILENAME generated by Apache mod_proxy_fcgi:
- * proxy:fcgi://localhost:9000/some-dir/info.php/test
+ * proxy:fcgi://localhost:9000/some-dir/info.php/test?foo=bar
* should be changed to:
* /some-dir/info.php/test
* See: http://bugs.php.net/bug.php?id=54152
memmove(env_script_filename, p, strlen(p) + 1);
apache_was_here = 1;
}
+ /* ignore query string if sent by Apache (RewriteRule) */
+ p = strchr(env_script_filename, '?');
+ if (p) {
+ *p =0;
+ }
}
if (CGIG(fix_pathinfo)) {