GNU/Linux >> Linux の 問題 >  >> Linux

PHP スクリプト - Linux と Windows のどちらで実行されているかを検出しますか?

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

受け入れられた答えよりも少しエレガントなようです。ただし、前述の DIRECTORY_SEPARATOR による検出が最も高速です。


ディレクトリ区切り文字が / かどうかを確認できます (unix/linux/mac の場合) または \ 窓に。定数名は DIRECTORY_SEPARATOR です .

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

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

PHP_OS の値を確認してください

Windows では WIN32 のようなさまざまな値が得られます 、 WINNT または Windows .

以下も参照してください:可能な値: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!';
}

PHP 7.2.0 以降では、実行中の OS を検出できます。定数 PHP_OS_FAMILY を使用 :

if (PHP_OS_FAMILY === "Windows") {
  echo "Running on Windows";
} elseif (PHP_OS_FAMILY === "Linux") {
  echo "Running on Linux";
}

可能な値については、PHP の公式ドキュメントを参照してください。


Linux
  1. Python はどの OS で実行されているかを検出できますか?

  2. PHPスクリプトを実行するためのGodaddy cronジョブのセットアップ

  3. シェル スクリプトが実行されているかどうかを確認する Linux コマンド

  1. CMake を使用して Linux を対象とした Windows でのクロスプラットフォーム ビルド

  2. PHP から Python スクリプトを実行する

  3. Windows XP 内で Linux を実行、つまりデュアル ブートなし

  1. Linux で実行している PHP のバージョンを確認するには?

  2. Windowsでqemuを使用して仮想Linuxを実行する

  3. Linux 上のこれらの Windows プロセスとは何ですか?