首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有提供本地主机名的PHP函数或变量?

问有没有提供本地主机名的PHP函数或变量?
EN

Stack Overflow用户
提问于 2008-10-17 12:06:24
回答 3查看 8K关注 0票数 5

当脚本在Apache下运行时,我将$_SERVER['SERVER_NAME']值插入到错误报告电子邮件消息中。

但是,如果Web脚本使用nohup php ...派生一个“工作者”作业,则$_SERVER['SERVER_NAME']在那里看起来是空的。因此,如果发生错误,报告时将不带主机名。

我可以不调用Unix hostname命令,通过PHP可靠地获取主机名吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-17 12:11:27

php_uname("n")

(PHP4 >= 4.0.2,PHP5)

PHP -返回有关运行php_uname的操作系统的信息

PHP ()返回对运行php_uname的操作系统的描述。这与您在phpinfo()输出顶部看到的字符串相同。对于操作系统的名称,可以考虑使用PHP_OS常量,但请记住,该常量将包含构建PHP时所基于的操作系统。

在某些较旧的UNIX平台上,它可能无法确定当前的操作系统信息,在这种情况下,它将恢复为显示构建PHP的操作系统。只有当您的uname()库调用不存在或不起作用时,才会发生这种情况。

票数 14
EN

Stack Overflow用户

发布于 2013-07-18 04:54:53

对于PHP >= 5.3.0 use this

$hostname = gethostname();

对于PHP < 5.3.0 but >= 4.2.0 use this

$hostname = php_uname('n');

对于低于4.2.0的PHP,您可以尝试以下方法之一:

代码语言:javascript
复制
$hostname = getenv('HOSTNAME'); 
$hostname = trim(`hostname`); 
$hostname = preg_replace('#^\w+\s+(\w+).*$#', '$1', exec('uname -a')); 
票数 1
EN

Stack Overflow用户

发布于 2008-10-19 13:17:37

您可以使用_GLOBALS['MACHINENAME']直接从globals array获取信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/211885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档