命令行中的PHP服务器名称

Jus*_*oel 36 php command-line command-line-interface

有没有办法从命令行检测运行PHP脚本的服务器的名称?

对于通过HTTP访问的PHP,有很多方法可以做到这一点.但似乎没有办法为CLI执行此操作.

例如:

$_SERVER['SERVER_NAME'] 
Run Code Online (Sandbox Code Playgroud)

在命令行中不可用.

Uwe*_*cke 81

echo php_uname("n");
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.php-uname.php

  • 我不能投票或投票.你的答案是最好的.虽然,它不是100%便携式的,因为有些主机会因此而产生额外的垃圾.Mac OS X Leopard和OpenSolar都只使用主机名进行响应.RHEL3(不寒而栗)对各种垃圾做出反应. (2认同)

小智 20

<?php
echo gethostname(); // may output e.g,: sandie
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.gethostname.php

gethostname()是一个便利函数,它与php_uname('n')PHP 5.3 一样,并且添加了它


mik*_*ikl 11

出于同样的原因,当您从CLI运行PHP时,SERVER_NAME不可用.

当您从CLI运行PHP时,您可以启动自己的PHP解释器,它运行您传递给它的任何代码,而不需要任何类型的服务器.因此,从CLI中,PHP对您未明确告知它的Web服务器一无所知.