用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php $_ENV 环境变量详解

时间:2015-01-23  来源:西部数据  作者:西部数据

环境变量:$_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 处理它们的方式不同.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门