]> granicus.if.org Git - php/commit
Fixed bug #65641 PHP-FPM incorrectly defines the SCRIPT_NAME variable when using...
authorRemi Collet <remi@php.net>
Mon, 15 Sep 2014 11:29:55 +0000 (13:29 +0200)
committerRemi Collet <remi@php.net>
Mon, 15 Sep 2014 11:29:55 +0000 (13:29 +0200)
commit8cac75969e5abb2b6be5bbd489d851a4f9e50979
tree3c6b30af1fafd1efe2f31fc702feef7635c4b1ac
parent24b41a23b376636c7f6c7bda5954db994332b44d
Fixed bug #65641 PHP-FPM incorrectly defines the SCRIPT_NAME variable when using Apache

ProxyPass is unable to provide correct PATH_INFO
as it is not aware of file path (while SetHandler is).

As we can extract PATH_INFO from PATH_TRANSLATED,
we also need to check if present in SCRIPT_NAME
and remove it.

After applying this patch.
With mod_php
_SERVER["REQUEST_URI"]     /info.php/foo/bar?q=1
_SERVER["SCRIPT_NAME"]     /info.php
_SERVER["PATH_INFO"]       /foor/bar
_SERVER["PHP_SELF"]        /info.php/foo/bar
_SERVER["QUERY_STRING"]    q=1

With mod_proxy_fcgi + SetHandler
_SERVER["REQUEST_URI"]     /info.php/foo/bar?q=1
_SERVER["SCRIPT_NAME"]     /info.php
_SERVER["PATH_INFO"]       /foo/bar
_SERVER["PHP_SELF"]        /info.php/foo/bar
_SERVER["QUERY_STRING"]    q=1

With mod_proxy_fcgi + ProxyPass
_SERVER["REQUEST_URI"]     /info.php/foo/bar?q=1
_SERVER["SCRIPT_NAME"]     /info.php
_SERVER["PATH_INFO"]       /foo/bar
_SERVER["PHP_SELF"]        /info.php/foo/bar
_SERVER["QUERY_STRING"]    q=1
sapi/fpm/fpm/fpm_main.c