If you set a variable, either new or existing, the corresponding $_SERVER variable is not changed, and you will have to change it as well.
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
apache_setenv — Set an Apache subprocess_env variable
$variable
, string $value
[, bool $walk_to_top
= false
] )
apache_setenv() sets the value of the Apache
environment variable specified by
variable
.
Note:
When setting an Apache environment variable, the corresponding $_SERVER variable is not changed.
variable
The environment variable that's being set.
value
The new variable
value.
walk_to_top
Whether to set the top-level variable available to all Apache layers.
Returns TRUE
on success or FALSE
on failure.
Example #1 Setting an Apache environment variable using apache_setenv()
<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>
Note:
apache_setenv() can be paired up with apache_getenv() across separate pages or for setting variables to pass to Server Side Includes (.shtml) that have been included in PHP scripts.
If you set a variable, either new or existing, the corresponding $_SERVER variable is not changed, and you will have to change it as well.
If you are using mod_gzip or mod_deflate to compress HTML output, you're not able to send partial file to the browser....
To disable mod_deflate in PHP (if needed), you can tell Apache with this :
apache_setenv('no-gzip', '1');
When you need to set the QUERY_STRING variable into a page included with the "virtual" function do this:
virtual ("some_page.shtml?$QUERY_STRING");
apache_setenv does not work for this case.
When you want to set variables to pass to Server Side Includes (.shtml) included in PHP scripts, use this.