最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

php $_ENV 环境变量详解

时间:2014-06-09 16:40来源: 作者: 点击:
环境变量:$_ENV 注: 在 PHP 4.1.0 及以后版本使用,之前的版本,使用 $HTTP_ENV_VARS,在解析器运行时,这些变量从环境变量转变为 PHP 全局变量名称空间(namespace),它们中的许多都是由 PHP 所运行的系统决

环境变量:$_ENV 注: 在 PHP 4.1.0 及以后版本使用,之前的版本,使用 $HTTP_ENV_VARS,在解析器运行时,这些变量从环境变量转变为 PHP 全局变量名称空间(namespace),它们中的许多都是由 PHP 所运行的系统决定,完整的列表是不可能的,请查看系统的文档以确定其特定的环境变量.

环境变量:$_ENV 

注: 在 PHP 4.1.0 及以后版本使用,之前的版本,使用 $HTTP_ENV_VARS。

在解析器运行时,这些变量从环境变量转变为 PHP 全局变量名称空间(namespace),它们中的许多都是由 PHP 所运行的系统决定,完整的列表是不可能的,请查看系统的文档以确定其特定的环境变量.

其它环境变量(包括 CGI 变量),无论 PHP 是以服务器模块或是以 CGI 处理方式运行,都在这里列出了.

这是一个“superglobal”,或者可以描述为自动全局变量,这只不过意味这它在所有的脚本中都有效,在函数或方法中不需要使用 global $_ENV; 来访问它,就如同使用 $HTTP_ENV_VARS 一样.

$HTTP_ENV_VARS 包含着同样的信息,但是不是一个自动全局变量(注意:$HTTP_ENV_VARS 和 $_ENV 是不同的变量,PHP 处理它们的方式不同).

如果设置了 register_globals 指令,这些变量也在所有脚本中可用,也就是,分离了 $_ENV 和 $HTTP_ENV_VARS 数组,相关信息,请参阅安全的相关章节使用 Register Globals,这些单独的全局变量不是自动全局变量.

实例代码如下:

  1. <?php 
  2. echo 'My username is ' .$_ENV["USER"] . '!'
  3. ?> 

假设 "bjori" 运行此段脚本,以上例程的输出类似于:My username is bjori!

实例2代码如下:

  1. <?php  
  2. if (isset($_ENV["HOSTNAME"]))  
  3.     $MachineName = $_ENV["HOSTNAME"];  
  4. else if  (isset($_ENV["COMPUTERNAME"]))  
  5.     $MachineName = $_ENV["COMPUTERNAME"];  
  6. else $MachineName = "";  
  7. ?> 

运行环境导入到 PHP 的全局命名空间,很多是由支持 PHP 运行的 Shell 提供的,并且不同的系统很可能运行着不同种类的 Shell,所以不可能有一份确定的列表,请查看你的 Shell 文档来获取定义的环境变量列表.

其他环境变量包含了 CGI 变量,而不管 PHP 是以服务器模块还是 CGI 处理器的方式运行.

$HTTP_ENV_VARS 包含相同的信息,但它不是一个超全局变量,(注意 $HTTP_ENV_VARS 和 $_ENV 是不同的变量,PHP 处理它们的方式不同.

(责任编辑:admin)
------分隔线----------------------------
栏目列表
推荐内容