10.1 获取和添加PHP环境变量
简单地说,环境变量就是程序或系统运行需要的一些配置参数或一些具体的变量,环境变量可以帮助系统维护当前运行环境,或者控制程序的行为,甚至影响程序的执行及执行结果。
PHP中,可以通过函数getenv()获取一个PHP环境变量的值,语法如下。
string getenv(string $var);
该函数返回环境变量$var的值,如果发生错误,函数返回FALSE。代码10-1演示了如何使用该函数获取系统环境变量。
代码10-1 使用函数getenv()获取环境变量10-1.php
01 <?php 02 $root = getenv('DOCUMENT_ROOT'); // 环境变量 03 $port = getenv('SERVER_PORT'); // 服务器端口 04 $file = getenv('SCRIPT_NAME'); // 当前文件 05 $ua = getenv('HTTP_USER_AGENT'); // 当前用户 06 $method = getenv('REQUEST_METHOD'); // 请求方法 07 $protocol = getenv('SERVER_PROTOCOL'); // 传输协议 08 09 echo "<b> 通过函数getenv() 获取环境变量</b><hr>"; 10 echo "<b> 服务器文档根目录:</b>".$root; 11 echo "<br/>"; 12 echo "<br/>"; 13 14 echo "<b> 服务器端口:</b>".$port; 15 echo "<br/>"; 16 echo "<br/>"; 17 18 echo "<b> 当前执行文件:</b>".$file; 19 echo "<br/>"; 20 echo "<br/>"; 21 22 echo "<b> 用户UA :</b>".$ua; 23 echo "<br/>"; 24 echo "<br/>"; 25 26 echo "<b> 请求方法:</b>".$method; 27 echo "<br/>"; 28 echo "<br/>"; 29 30 echo "<b> 传输协议:</b>".$protocol; 31 ?>
【代码解析】代码第02~07行通过函数getenv()获取一些环境变量,并将这些环境变量的值输出到页面,执行结果如图10-1所示。
图10-1 获取环境变量的值
环境变量也可以通过全局预定义变量$_SERVER来获取,预定义变量$_SERVER的用法在本书第2章介绍过。例如,通过$_SERVER['DOCUMENT_ROOT']可以获取服务器的文档根目录。
注意 在使用函数getenv()获取环境变量时,传给函数getenv()的参数字符串的两头不能存在空格,否则将得不到预期的结果。例如,代码getenv('SERVER_PORT')就无法得到服务器端口的值,因为SEVER_PORT后有一个空白字符。
函数putenv()可以添加一个环境变量并为其赋值,语法如下。
bool putenv(string $env_setting);
参数$env_setting是要添加的环境变量是由环境变量的名称和值组成的字符串,如果设置成功,函数返回TRUE,否则返回FALSE。如下代码实现了向系统添加一个环境变量MY_ENV,并将其值设定为newenv。
$env_var = newenv; putenv("MY_ENV = $env_var");
共有条评论 网友评论