PHP 8.3.4 Released!

apache_setenv

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

apache_setenvSet an Apache subprocess_env variable

Description

apache_setenv(string $variable, string $value, bool $walk_to_top = false): bool

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.

Parameters

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.

Return Values

Returns true on success or false on failure.

Examples

Example #1 Setting an Apache environment variable using apache_setenv()

<?php
apache_setenv
("EXAMPLE_VAR", "Example Value");
?>

Notes

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.

See Also

add a note

User Contributed Notes 4 notes

up
1
RLG
18 years ago
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');
up
-1
phpnotes at kipu dot co dot uk
20 years ago
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.
up
-3
sixxgate at yahoo dot com
21 years ago
When you want to set variables to pass to Server Side Includes (.shtml) included in PHP scripts, use this.
up
-3
guilleva at gmail dot com
18 years ago
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.
To Top