mirror of
https://github.com/php/php-src.git
synced 2025-08-16 22:18:50 +02:00
restore FPM compatibility with mod_fastcgi broken since #694 / 67541, fixes bug 67606
This commit is contained in:
parent
d73d44c237
commit
e6d93a11ad
1 changed files with 8 additions and 3 deletions
|
@ -1148,13 +1148,16 @@ static void init_request_info(TSRMLS_D)
|
||||||
TRANSLATE_SLASHES(env_document_root);
|
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 &&
|
env_path_translated != script_path_translated &&
|
||||||
strcmp(env_path_translated, script_path_translated) != 0) {
|
strcmp(env_path_translated, script_path_translated) != 0) {
|
||||||
/*
|
/*
|
||||||
* pretty much apache specific. If we have a redirect_url
|
* pretty much apache specific. If we have a redirect_url
|
||||||
* then our script_filename and script_name point to the
|
* then our script_filename and script_name point to the
|
||||||
* php executable
|
* 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;
|
script_path_translated = env_path_translated;
|
||||||
/* we correct SCRIPT_NAME now in case we don't have PATH_INFO */
|
/* we correct SCRIPT_NAME now in case we don't have PATH_INFO */
|
||||||
|
@ -1329,7 +1332,7 @@ static void init_request_info(TSRMLS_D)
|
||||||
efree(pt);
|
efree(pt);
|
||||||
}
|
}
|
||||||
} else {
|
} 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 ||
|
if (!orig_script_filename ||
|
||||||
(script_path_translated != orig_script_filename &&
|
(script_path_translated != orig_script_filename &&
|
||||||
strcmp(script_path_translated, orig_script_filename) != 0)) {
|
strcmp(script_path_translated, orig_script_filename) != 0)) {
|
||||||
|
@ -1338,7 +1341,9 @@ static void init_request_info(TSRMLS_D)
|
||||||
}
|
}
|
||||||
script_path_translated = _sapi_cgibin_putenv("SCRIPT_FILENAME", script_path_translated TSRMLS_CC);
|
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) {
|
if (orig_path_info) {
|
||||||
_sapi_cgibin_putenv("ORIG_PATH_INFO", orig_path_info TSRMLS_CC);
|
_sapi_cgibin_putenv("ORIG_PATH_INFO", orig_path_info TSRMLS_CC);
|
||||||
_sapi_cgibin_putenv("PATH_INFO", NULL TSRMLS_CC);
|
_sapi_cgibin_putenv("PATH_INFO", NULL TSRMLS_CC);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue