第10章 用PHP获取系统信息
获取系统信息不仅是对系统当前状况的一个了解,有时对于调试PHP程序也很有帮助。在有的PHP程序中,需要向用户告知系统当前的配置情况,或者用户想了解系统环境变量的时候,都需要PHP提供一些函数来获取和PHP有关的系统信息、环境变量、PHP配置信息等,本章向读者介绍和这些内容有关的函数及其用法。
本章主要涉及的知识点有:
❑获取和添加PHP环境变量
❑查看被载入的PHP扩展模块
❑获取PHP的当前各类信息
❑获取当前PHP进程的进程号和所有者
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 ?>
【代码解析】这段代码第2~7行通过函数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");
共有条评论 网友评论