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 — 设置 Apache 子进程环境变量
$variable
, string $value
[, bool $walk_to_top = false
] )
apache_setenv() 设置由variable指定的 Apache
环境变量值。
Note:
当设置了某 Apache 环境变量, 相应的 $_SERVER 变量不会改变。
variable将被设置的环境变量。
value
新 variable 值。
walk_to_top是否将所设置的顶层变量应用到所有 Apache 层。
成功时返回 TRUE, 或者在失败时返回 FALSE。
Example #1 使用 apache_setenv() 设置一个 Apache 环境变量
<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>
Note:
apache_setenv() 可与 apache_getenv() 配合使用,以在不同页面间传递变量,或将 PHP 脚本中已设置变量传入 Server Side Includes (.shtml)页面。
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.