summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2003-07-11 04:23:34 +0000
committerfoobar <sniper@php.net>2003-07-11 04:23:34 +0000
commitd6430ab79f964ace209f639bdb92dd89ba74d715 (patch)
treec74978cd304f65b87f6ab62ac48add1e2264600f
parent5aeedb4c88717e50ee362b2d36c560ee0cff63c2 (diff)
downloadphp-git-d6430ab79f964ace209f639bdb92dd89ba74d715.tar.gz
- Fixed bug #21074 (Apache2: "ErrorDocument xxx /error.php" broken). (Jani)
-rw-r--r--sapi/apache2filter/sapi_apache2.c14
-rw-r--r--sapi/apache2handler/sapi_apache2.c12
2 files changed, 19 insertions, 7 deletions
diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c
index f53407c551..176a0227f4 100644
--- a/sapi/apache2filter/sapi_apache2.c
+++ b/sapi/apache2filter/sapi_apache2.c
@@ -435,10 +435,16 @@ static int php_output_filter(ap_filter_t *f, apr_bucket_brigade *bb)
return ap_pass_brigade(f->next, bb);
}
- /* setup standard CGI variables */
- ap_add_common_vars(f->r);
- ap_add_cgi_vars(f->r);
-
+ /* Setup the CGI variables if this is the main request.. */
+ if (f->r->main == NULL ||
+ /* .. or if the sub-request envinronment differs from the main-request. */
+ f->r->subprocess_env != f->r->main->subprocess_env
+ ) {
+ /* setup standard CGI variables */
+ ap_add_common_vars(f->r);
+ ap_add_cgi_vars(f->r);
+ }
+
ctx = SG(server_context);
if (ctx == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, f->r,
diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c
index 5a0095917b..d496eaa946 100644
--- a/sapi/apache2handler/sapi_apache2.c
+++ b/sapi/apache2handler/sapi_apache2.c
@@ -465,9 +465,15 @@ static int php_handler(request_rec *r)
return DECLINED;
}
- /* setup standard CGI variables */
- ap_add_common_vars(r);
- ap_add_cgi_vars(r);
+ /* Setup the CGI variables if this is the main request */
+ if (r->main == NULL ||
+ /* .. or if the sub-request envinronment differs from the main-request. */
+ r->subprocess_env != r->main->subprocess_env
+ ) {
+ /* setup standard CGI variables */
+ ap_add_common_vars(r);
+ ap_add_cgi_vars(r);
+ }
ctx = SG(server_context);
if (ctx == NULL) {