diff options
Diffstat (limited to 'sapi/cgi/cgi_main.c')
| -rw-r--r-- | sapi/cgi/cgi_main.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sapi/cgi/cgi_main.c b/sapi/cgi/cgi_main.c index 760101d969..9624f92adb 100644 --- a/sapi/cgi/cgi_main.c +++ b/sapi/cgi/cgi_main.c @@ -486,11 +486,17 @@ static void sapi_cgi_log_message(char *message) static int sapi_cgi_deactivate(TSRMLS_D) { - sapi_cgibin_flush(SG(server_context)); + /* flush only when SAPI was started. The reasons are: + 1. SAPI Deactivate is called from two places: module init and request shutdown + 2. When the first call occurs and the request is not set up, flush fails on + FastCGI. + */ + if(SG(sapi_started)) { + sapi_cgibin_flush(SG(server_context)); + } return SUCCESS; } - static int php_cgi_startup(sapi_module_struct *sapi_module) { if (php_module_startup(sapi_module, NULL, 0) == FAILURE) { |
