cvs: php4(apache_hooks) /sapi/apache mod_php4.c php_apache.c sapi_apache.c
| From: | George Schlossnagle | Date: | Wed, 28 Aug 2002 04:37:37 +0000 |
| Subject: | cvs: php4(apache_hooks) /sapi/apache mod_php4.c php_apache.c sapi_apache.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-13721@lists.php.net to get a copy of this message | ||
gschlossnagle Wed Aug 28 00:37:37 2002 EDT
Modified files: (Branch: apache_hooks)
/php4/sapi/apache mod_php4.c php_apache.c sapi_apache.c
Log:
added wrapper for ap_send_http_header so that phpResponseHandler is now
working. Added protections to mod_php4's internal call to the same so
that headers cannot be accidentally sent twice.
Index: php4/sapi/apache/mod_php4.c
diff -u php4/sapi/apache/mod_php4.c:1.120.2.5 php4/sapi/apache/mod_php4.c:1.120.2.6
--- php4/sapi/apache/mod_php4.c:1.120.2.5 Tue Aug 27 23:55:42 2002
+++ php4/sapi/apache/mod_php4.c Wed Aug 28 00:37:36 2002
@@ -17,7 +17,7 @@
| PHP 4.0 patches by Zeev Suraski <zeev@zend.com> |
+----------------------------------------------------------------------+
*/
-/* $Id: mod_php4.c,v 1.120.2.5 2002/08/28 03:55:42 gschlossnagle Exp $ */
+/* $Id: mod_php4.c,v 1.120.2.6 2002/08/28 04:37:36 gschlossnagle Exp $ */
#include "php_apache_http.h"
@@ -349,7 +349,9 @@
}
((request_rec *) SG(server_context))->status = SG(sapi_headers).http_response_code;
- send_http_header((request_rec *) SG(server_context));
+ /* check that we haven't sent headers already */
+ if(!((request_rec *) SG(server_context))->sent_bodyct)
+ send_http_header((request_rec *) SG(server_context));
return SAPI_HEADER_SENT_SUCCESSFULLY;
}
/* }}} */
@@ -707,7 +709,7 @@
}
init_request_info(TSRMLS_C);
apache_php_module_main(r, display_source_mode TSRMLS_CC);
-
+
/* Done, restore umask, turn off timeout, close file and return */
php_restore_umask();
kill_timeout(r);
Index: php4/sapi/apache/php_apache.c
diff -u php4/sapi/apache/php_apache.c:1.45.4.3 php4/sapi/apache/php_apache.c:1.45.4.4
--- php4/sapi/apache/php_apache.c:1.45.4.3 Mon Aug 26 19:49:15 2002
+++ php4/sapi/apache/php_apache.c Wed Aug 28 00:37:36 2002
@@ -17,7 +17,7 @@
| David Sklar <sklar@student.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_apache.c,v 1.45.4.3 2002/08/26 23:49:15 azzit Exp $ */
+/* $Id: php_apache.c,v 1.45.4.4 2002/08/28 04:37:36 gschlossnagle Exp $ */
#include "php_apache_http.h"
@@ -45,6 +45,7 @@
PHP_FUNCTION(virtual);
PHP_FUNCTION(apache_request_headers);
PHP_FUNCTION(apache_response_headers);
+PHP_FUNCTION(apache_send_http_header);
PHP_FUNCTION(apachelog);
PHP_FUNCTION(apache_note);
PHP_FUNCTION(apache_lookup_uri);
@@ -57,6 +58,7 @@
function_entry apache_functions[] = {
PHP_FE(virtual, NULL)
PHP_FE(apache_request_headers, NULL)
+ PHP_FE(apache_send_http_header, NULL)
PHP_FE(apache_note, NULL)
PHP_FE(apache_lookup_uri, NULL)
PHP_FE(apache_child_terminate, NULL)
@@ -1386,6 +1388,10 @@
}
/* }}} */
+PHP_FUNCTION(apache_send_http_header)
+{
+ ap_send_http_header((request_rec *)SG(server_context));
+}
/* {{{ proto bool apache_setenv(string variable, string value [, bool walk_to_top])
Set an Apache subprocess_env variable */
PHP_FUNCTION(apache_setenv)
Index: php4/sapi/apache/sapi_apache.c
diff -u php4/sapi/apache/sapi_apache.c:1.33.4.2 php4/sapi/apache/sapi_apache.c:1.33.4.3
--- php4/sapi/apache/sapi_apache.c:1.33.4.2 Mon Aug 26 16:06:31 2002
+++ php4/sapi/apache/sapi_apache.c Wed Aug 28 00:37:37 2002
@@ -19,7 +19,7 @@
| Stig Bakken <ssb@fast.no> |
+----------------------------------------------------------------------+
*/
-/* $Id: sapi_apache.c,v 1.33.4.2 2002/08/26 20:06:31 gschlossnagle Exp $ */
+/* $Id: sapi_apache.c,v 1.33.4.3 2002/08/28 04:37:37 gschlossnagle Exp $ */
#include "php_apache_http.h"
@@ -51,10 +51,8 @@
file_handle.filename = SG(request_info).path_translated;
file_handle.opened_path = NULL;
file_handle.free_filename = 0;
-
(void) php_execute_script(&file_handle TSRMLS_CC);
}
-
AP(in_request) = 0;
return (OK);