From ee275e34c8b303945945c650d4bc90dcc2ac0b17 Mon Sep 17 00:00:00 2001 From: David Zuelke Date: Sat, 9 Aug 2014 08:26:33 +0200 Subject: restore FPM compatibility with mod_fastcgi broken since #694 / 67541, fixes bug 67606 --- sapi/fpm/fpm/fpm_main.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index e8793259b4..56a06f90ee 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -1142,13 +1142,16 @@ static void init_request_info(TSRMLS_D) TRANSLATE_SLASHES(env_document_root); } - if (env_path_translated != NULL && env_redirect_url != NULL && + if (!apache_was_here && env_path_translated != NULL && env_redirect_url != NULL && env_path_translated != script_path_translated && strcmp(env_path_translated, script_path_translated) != 0) { /* * pretty much apache specific. If we have a redirect_url * then our script_filename and script_name point to the * php executable + * we don't want to do this for the new mod_proxy_fcgi approach, + * where redirect_url may also exist but the below will break + * with rewrites to PATH_INFO, hence the !apache_was_here check */ script_path_translated = env_path_translated; /* we correct SCRIPT_NAME now in case we don't have PATH_INFO */ @@ -1323,7 +1326,7 @@ static void init_request_info(TSRMLS_D) efree(pt); } } else { - /* make sure path_info/translated are empty */ + /* make sure original values are remembered in ORIG_ copies if we've changed them */ if (!orig_script_filename || (script_path_translated != orig_script_filename && strcmp(script_path_translated, orig_script_filename) != 0)) { @@ -1332,7 +1335,9 @@ static void init_request_info(TSRMLS_D) } script_path_translated = _sapi_cgibin_putenv("SCRIPT_FILENAME", script_path_translated TSRMLS_CC); } - if (env_redirect_url) { + if (!apache_was_here && env_redirect_url) { + /* if we used PATH_TRANSLATED to work around Apache mod_fastcgi (but not mod_proxy_fcgi, + * hence !apache_was_here) weirdness, strip info accordingly */ if (orig_path_info) { _sapi_cgibin_putenv("ORIG_PATH_INFO", orig_path_info TSRMLS_CC); _sapi_cgibin_putenv("PATH_INFO", NULL TSRMLS_CC); -- cgit v1.2.1 From b206b0e29d2cf9a41b94befedfefd806a71d0846 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Thu, 28 Aug 2014 23:10:32 -0700 Subject: fix NEWS for fcgi fix merge --- NEWS | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/NEWS b/NEWS index a34be3a47f..2451186867 100644 --- a/NEWS +++ b/NEWS @@ -7,13 +7,17 @@ PHP NEWS - OpenSSL: . Fixed bug #41631 (socket timeouts not honored in blocking SSL reads). - (Daniel Lowrey). + (Daniel Lowrey) - Date: - . Fixed bug #66091 (memory leaks in DateTime constructor). (Tjerk). + . Fixed bug #66091 (memory leaks in DateTime constructor). (Tjerk) -- GD - . Made fontFetch's path parser thread-safe. (Sara). +- FPM: + . Fixed #65641 (PHP-FPM incorrectly defines the SCRIPT_NAME variable when + using Apache). (David Zuelke) + +- GD: + . Made fontFetch's path parser thread-safe. (Sara) - Wddx: . Fixed bug #67873 (Segfaults in php_wddx_serialize_var). (Anatol, Remi) @@ -23,11 +27,11 @@ PHP NEWS data). (Mike) . Fixed bug #67865 (internal corruption phar error). (Mike) -?? ??? 2014, PHP 5.4.32 +21 Aug 2014, PHP 5.4.32 - COM: - . Fixed missing type checks in com_event_sink (Yussuf Khalil, Stas). - . Fixed bug #41577 (DOTNET is successful once per server run) + . Fixed missing type checks in com_event_sink. (Yussuf Khalil, Stas) + . Fixed bug #41577 (DOTNET is successful once per server run). (Aidas Kasparas) - Fileinfo: -- cgit v1.2.1