PHP Conference Nagoya 2025

apache_setenv

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

apache_setenvApacheサブプロセスの環境変数を設定する

説明

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

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() と対にして使用することができます。

参考

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
21 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
19 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