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