From: Dmitry Stogov Date: Tue, 14 Feb 2012 13:31:23 +0000 (+0000) Subject: Fixed reinitialization of SAPI callbacks after php_module_startup() X-Git-Tag: php-5.4.0RC8~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=106e88b3db8b2b731a54017f76a075eb38e59c7e;p=php Fixed reinitialization of SAPI callbacks after php_module_startup() --- diff --git a/NEWS b/NEWS index 613d918866..269d9993dc 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,10 @@ PHP NEWS . Fixed bug #60965 (Buffer overflow on htmlspecialchars/entities with $double=false). (Gustavo) +- CGI/FastCGI SAPI + . Fixed reinitialization of SAPI callbacks after php_module_startup(). + (Dmitry) + 02 Feb 2012, PHP 5.4.0 RC 7 - Core: . Fixed bug #60895 (Possible invalid handler usage in windows random diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index d43b19da66..1e403870c3 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -1860,6 +1860,15 @@ int main(int argc, char *argv[]) php_optind = orig_optind; php_optarg = orig_optarg; + if (fastcgi || bindpath) { + /* Override SAPI callbacks */ + cgi_sapi_module.ub_write = sapi_fcgi_ub_write; + cgi_sapi_module.flush = sapi_fcgi_flush; + cgi_sapi_module.read_post = sapi_fcgi_read_post; + cgi_sapi_module.getenv = sapi_fcgi_getenv; + cgi_sapi_module.read_cookies = sapi_fcgi_read_cookies; + } + #ifdef ZTS SG(request_info).path_translated = NULL; #endif @@ -1929,13 +1938,6 @@ consult the installation file that came with this distribution, or visit \n\ fastcgi = fcgi_is_fastcgi(); } if (fastcgi) { - /* Override SAPI callbacks */ - sapi_module.ub_write = sapi_fcgi_ub_write; - sapi_module.flush = sapi_fcgi_flush; - sapi_module.read_post = sapi_fcgi_read_post; - sapi_module.getenv = sapi_fcgi_getenv; - sapi_module.read_cookies = sapi_fcgi_read_cookies; - /* How many times to run PHP scripts before dying */ if (getenv("PHP_FCGI_MAX_REQUESTS")) { max_requests = atoi(getenv("PHP_FCGI_MAX_REQUESTS"));