Volker 的 getOS() 函数需要在 switch 语句中更改 case 的顺序,因为 "darwin" 包含 "win",这意味着 "windows" 和 "darwin" 都将返回 self::OS_WIN。我已经将 'dar' case 移到了 'win' case 的上面
<?php
class System {
const OS_UNKNOWN = 1;
const OS_WIN = 2;
const OS_LINUX = 3;
const OS_OSX = 4;
/**
* @return int
*/
static public function getOS() {
switch (true) {
case stristr(PHP_OS, 'DAR'): return self::OS_OSX;
case stristr(PHP_OS, 'WIN'): return self::OS_WIN;
case stristr(PHP_OS, 'LINUX'): return self::OS_LINUX;
default : return self::OS_UNKNOWN;
}
}
}
?>