是否有 PHP 函数或变量给出本地主机名?
当脚本在 Apache 下运行时,我将 $_SERVER['SERVER_NAME']
值插入到错误报告电子邮件中。
但是,如果 Web 脚本使用 nohup php ...
分叉“worker”作业,则 $_SERVER['SERVER_NAME']
在那里显示为空。 因此,如果发生错误,报告时不会显示主机名。
我可以通过 PHP 可靠地获取主机名,而不需要调用 Unix hostname
命令吗?
When a script runs under Apache, I insert $_SERVER['SERVER_NAME']
value into an error reporting e-mail message.
However, if a Web script forks a "worker" job with nohup php ...
, $_SERVER['SERVER_NAME']
appears to be empty there. Thus, if an error occurs, it's reported without a host name.
Can I reliably get the host name by means of PHP, without calling Unix hostname
command?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
php_uname("n")
php_uname("n")
对于 PHP >= 5.3.0 使用此:
$ hostname = gethostname();
对于PHP PHP < 5.3.0 但 >= 4.2.0 使用此:
$hostname = php_uname('n');
对于 PHP < 4.2.0 您可以尝试以下之一:
For PHP >= 5.3.0 use this:
$hostname = gethostname();
For PHP < 5.3.0 but >= 4.2.0 use this:
$hostname = php_uname('n');
For PHP < 4.2.0 you can try one of these:
您可以使用
_GLOBALS['MACHINENAME']
直接从globals
array
获取信息。You can use
_GLOBALS['MACHINENAME']
to obtain the information straight from theglobals
array
.