GNU/Linux >> Belajar Linux >  >> Linux

Skrip PHP - mendeteksi apakah berjalan di bawah linux atau Windows?

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

sepertinya sedikit lebih elegan daripada jawaban yang diterima. Deteksi yang disebutkan di atas dengan DIRECTORY_SEPARATOR adalah yang tercepat.


Anda dapat memeriksa apakah pemisah direktori adalah / (untuk unix/linux/mac) atau \ di jendela. Nama konstanta adalah DIRECTORY_SEPARATOR .

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

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

Periksa nilai PHP_OS konstan.

Ini akan memberi Anda berbagai nilai di Windows seperti WIN32 , WINNT atau Windows .

Lihat juga:Nilai yang Mungkin Untuk:PHP_OS dan php_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!';
}

Dimulai dengan PHP 7.2.0 Anda dapat mendeteksi OS yang sedang berjalan. menggunakan konstanta PHP_OS_FAMILY :

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

Lihat dokumentasi PHP resmi untuk kemungkinan nilainya.


Linux
  1. Bisakah python mendeteksi OS mana yang dijalankannya?

  2. Pengaturan pekerjaan cron Godaddy untuk menjalankan skrip php

  3. Pembuatan lintas platform di bawah Windows yang menargetkan Linux menggunakan CMake

  1. Bagaimana cara menambahkan shebang #! dengan skrip php di linux?

  2. Perangkat Linux/Ubuntu:Opsi ilegal -o pipefail

  3. Memeriksa versi PHP apa yang saya jalankan di Linux?

  1. Kompilasi skrip PHP di Linux

  2. Mengemas skrip Python di Linux menjadi Windows yang dapat dieksekusi

  3. Apa proses Windows ini di Linux?