准确确定运行PHP的OS的类型

Chr*_*ian 3 php operating-system uname

我需要确定运行PHP服务器的操作系统类型.按类型,我的意思是字符串,如"windows"或"linux",而不是"wince","winnt"等.

到目前为止,我必须领导:PHP_OS和uname(),后者比之前更可靠(PHP_OS说明构建了OS PHP - 根据文档).

mel*_*oon 8

重要的是要知道没有非Windows操作系统字符串将包含文本"win",并且没有非OSX OS字符串将包含单词"darwin",依此类推.检测操作系统很容易.

$uname = strtolower(php_uname());
if (strpos($uname, "darwin") !== false) {
    // It's OSX
} else if (strpos($uname, "win") !== false) {
    // It's windows
} else if (strpos($uname, "linux") !== false) {
    // It's Linux
} else {
    // It's something your script won't run on
}
Run Code Online (Sandbox Code Playgroud)

  • PS注意if than语句的顺序.如果您先检查OSX,它将获取"darwin"中的"win". (3认同)
  • 关于你的PS,这正是我上面回答的原因.它将在"达尔文"中看到"胜利",并认为它是"窗户". (2认同)
  • 正确的顺序是:检查"darwin",检查"win",检查"linux"... (2认同)