PHP脚本 - 检测是在Linux还是Windows下运行?

2022-08-30 06:40:10

我有一个PHP脚本,可以放在Windows系统或Linux系统上。在这两种情况下,我都需要运行不同的命令。

如何检测我所处的环境?(最好是PHP而不是聪明的系统黑客)

更新

为了澄清,该脚本是从命令行运行的。


答案 1

检查PHP_OS常量文档的值。

它将在Windows上为您提供各种值,例如,或。WIN32WINNTWindows

另请参阅:可能的值:PHP_OSphp_uname文档

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    echo 'This is a server using Windows!';
} else {
    echo 'This is a server not using Windows!';
}

答案 2

您可以检查目录分隔符是(对于 unix/linux/mac)还是在 Windows 上。常量名称为 。/\DIRECTORY_SEPARATOR

if (DIRECTORY_SEPARATOR === '/') {
    // unix, linux, mac
}

if (DIRECTORY_SEPARATOR === '\\') {
    // windows
}

推荐