PHP Conference Japan 2024

apache_setenv

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

apache_setenv设置 Apache subprocess_env 变量

描述

apache_setenv(字符串 $variable, 字符串 $value, 布尔值 $walk_to_top = false): 布尔值

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() 可以与 apache_getenv() 配合使用,跨越不同的页面或设置变量以传递给已包含在 PHP 脚本中的服务器端包含文件(.shtml)。

参见

添加注释

用户贡献的注释 4 条注释

1
RLG
18 年前
如果您使用 mod_gzip 或 mod_deflate 压缩 HTML 输出,则无法将部分文件发送到浏览器……

要禁用 PHP 中的 mod_deflate(如果需要),您可以使用以下方法告诉 Apache

apache_setenv('no-gzip', '1');
-1
phpnotes at kipu dot co dot uk
21 年前
如果设置了变量(新变量或现有变量),则相应的 $_SERVER 变量不会更改,您也需要更改它。
-3
sixxgate at yahoo dot com
21 年前
当您想要设置变量以传递给包含在 PHP 脚本中的服务器端包含文件(.shtml)时,请使用此方法。
-3
guilleva at gmail dot com
19 年前
当您需要将 QUERY_STRING 变量设置为使用“virtual”函数包含的页面时,请执行以下操作

virtual ("some_page.shtml?$QUERY_STRING");

apache_setenv 不适用于这种情况。
To Top