diff options
author | Dmitry Stogov <dmitry@php.net> | 2012-02-14 13:31:23 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2012-02-14 13:31:23 +0000 |
commit | 106e88b3db8b2b731a54017f76a075eb38e59c7e (patch) | |
tree | a34827e9f2882cb193b54b5686c9d10adbca0705 | |
parent | f60145a1a2ac4ae0e5761ccb027aa191f000a4e5 (diff) | |
download | php-git-106e88b3db8b2b731a54017f76a075eb38e59c7e.tar.gz |
Fixed reinitialization of SAPI callbacks after php_module_startup()
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | sapi/cgi/cgi_main.c | 16 |
2 files changed, 13 insertions, 7 deletions
@@ -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")); |