Re: One more critical problem in 5.4
| From: | yoram bar haim | Date: | Mon, 30 Jan 2012 15:29:11 +0000 |
| Subject: | Re: One more critical problem in 5.4 | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-57575@lists.php.net to get a copy of this message | ||
I Debugged the issue described here by lior.
the problem is :
in php_request_shutdown() we call
sapi_send_headers() after
php_output_deactivate().
at this point,
in main/output.c,
OG(flags) & PHP_OUTPUT_ACTIVATED is false so
php_output_write_unbuffered() calls
php_output_stderr() instead of
sapi_module handler.
the following patch solves the issue but It might be a wrong solution (because
other thins are dependent on this order) so I'm not suggesting it as fix.
--- main/main.c.orig 2012-01-30 17:25:44.000000000 +0200
+++ main/main.c 2012-01-30 17:09:05.000000000 +0200
@@ -1738,12 +1738,13 @@
} else {
php_output_end_all(TSRMLS_C);
}
+ sapi_send_headers(TSRMLS_C);
php_output_deactivate(TSRMLS_C);
} zend_end_try();
/* 4. Send the set HTTP headers (note: This must be done AFTER
php_output_discard_all() / php_output_end_all() !!) */
zend_try {
- sapi_send_headers(TSRMLS_C);
+/* sapi_send_headers(TSRMLS_C); */
} zend_end_try();
/* 5. Reset max_execution_time (no longer executing php code after
response sent) */