Dzi*_*mid 4 php linux environment-variables
在CLI模式下,正确getenv('HOSTNAME')返回HOSTNAME环境变量,但在脚本中调用时返回FALSE.
为什么?如何在脚本中获取HOSTNAME变量?
HOSTNAME在Apache使用的环境中不可用,但它通常在CLI使用的环境中可用.
$hostname = gethostname();
$hostname = php_uname('n');
对于PHP <4.2.0,请使用:
$hostname = getenv('HOSTNAME');
if(!$hostname) $hostname = trim(`hostname`);
if(!$hostname) $hostname = exec('echo $HOSTNAME');
if(!$hostname) $hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a'));
Run Code Online (Sandbox Code Playgroud)
HOSTNAME 不是CGI环境变量,因此不存在于普通的PHP脚本中.
但你可以选择使用
$hostname = `hostname`; // exec backticks
Run Code Online (Sandbox Code Playgroud)
或者阅读系统配置文件:
$hostname = file_get_contents("/etc/hostname"); // also only U*ix
Run Code Online (Sandbox Code Playgroud)
但大多数PHP脚本应该只使用$_SERVER["SERVER_NAME"]或客户端请求$_SERVER["HTTP_HOST"]
| 归档时间: |
|
| 查看次数: |
12209 次 |
| 最近记录: |