Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 索引“;服务器名称;不存在_Php_Variables_Constants_Global - Fatal编程技术网

Php 索引“;服务器名称;不存在

Php 索引“;服务器名称;不存在,php,variables,constants,global,Php,Variables,Constants,Global,我尝试执行bat,并在该文件中尝试访问此变量: $\u服务器['SERVER\u NAME'] 但这个指数并不存在。事实上,当我试图打印($\u SERVER)时,没有服务器名称索引。有原因吗?是因为我在bat中启动了此功能吗? 我有没有其他解决方案来获取此变量 谢谢大家! 服务器变量仅在服务器环境中可用(通过Apache或其他web服务器托管PHP),因此如果从命令行启动它,它们将不可用。此对象的参数由HTTP头填充,在您的情况下,HTTP头不存在 如果您想在未设置服务器名称时忽略$\u服务器

我尝试执行bat,并在该文件中尝试访问此变量:

$\u服务器['SERVER\u NAME']

但这个指数并不存在。事实上,当我试图
打印($\u SERVER)
时,没有
服务器名称
索引。有原因吗?是因为我在bat中启动了此功能吗? 我有没有其他解决方案来获取此变量


谢谢大家!

服务器变量仅在服务器环境中可用(通过Apache或其他web服务器托管PHP),因此如果从命令行启动它,它们将不可用。此对象的参数由HTTP头填充,在您的情况下,HTTP头不存在

如果您想在未设置
服务器名称
时忽略
$\u服务器
对象,您可以选择使用
php\u uname(“n”)
,但里程数可能会因操作系统而异

$server_name = (isset($_SERVER['SERVER_NAME']))? // check if SERVER_NAME is set
    $_SERVER['SERVER_NAME'] :                    // if yes, use HTTP header value
    php_uname("n");                             // if no, use php_uname()

$\u SERVER['SERVER\u NAME']
变量在主机HTTP头字段中保存HTTP客户端提供的服务器名称。由于不使用HTTP,因此未定义此变量。

请重试

echo %COMPUTERNAME%

相反,如果您是通过bat文件启动的。

好的,但它是可用的,只是在其数组中不返回“server\u name”。。。还有别的办法吗?谢谢对象存在,但是如果没有HTTP头,它将不会被填充,只有在有HTTP请求时才会出现HTTP头。我理解!嗯,没有函数可以得到。。。我想在邮件中创建一个链接。所以在我的模板中我有一个。有一个bat生成一个包含此链接的变量,并且在模板中是惰性的。但是,如果无法获取服务器名称,如何创建此链接?您想获取计算机的主机名吗?您最好的选择可能是使用
$hostname=php_uname(“n”)但这在不同的操作系统上可能会有不同的工作方式。我不认为是主机名。。。例如,这是url:。我想在由bat文件执行的php文件中输入常量:bestSiteEverNeverCreate.com,服务器名no?(我会试试php_uname)