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, PHP 8)
apache_setenv — Apacheサブプロセスの環境変数を設定する
apache_setenv() は variable
で指定された Apache 環境変数の値を設定します。
注意:
Apache 環境変数を設定しても、対応する $_SERVER の値は変更されません。
variable
設定する環境変数
value
variable
の新しい値
walk_to_top
全ての Apache レイヤに対して有効なトップレベルの変数を設定するかどうか
成功した場合に true
を、失敗した場合に false
を返します。
例1 apache_setenv() を使った Apache 環境変数の設定
<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>
注意:
apache_setenv() は、分割されたページや PHP スクリプトによって取り込まれた Server Side Includes (.shtml) に渡すための変数を設定する場合、 apache_getenv() と対にして使用することができます。
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.