Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menentukan sama ada Skrip PHP Berjalan pada Baris Perintah atau melalui HTTP?

Bagaimana untuk Menentukan sama ada Skrip PHP Berjalan pada Baris Perintah atau melalui HTTP?

Barbara Streisand
Lepaskan: 2024-11-15 18:33:03
asal
903 orang telah melayarinya

How to Determine if a PHP Script is Running on the Command Line or via HTTP?

Menentukan Mod Pelaksanaan Skrip dalam PHP

Menentukan sama ada skrip PHP dilaksanakan melalui baris arahan atau HTTP adalah penting untuk pelbagai tujuan, seperti pemformatan output. Dari segi sejarah, menyemak pembolehubah SERVER['argc'] dianggap sebagai pendekatan kanonik. Walau bagaimanapun, kaedah ini terbukti tidak boleh dipercayai apabila menggunakan API pelayan Apache 2.0 Handler kerana ia mengisi SERVER['argc'] walaupun dalam pelaksanaan baris arahan.

Kaedah yang disyorkan dan lebih mantap ialah menggunakan fungsi php_sapi_name() . Ia mengembalikan rentetan yang menunjukkan jenis antara muka antara pelayan web dan PHP. Contohnya termasuk:

  • "cli" untuk pelaksanaan baris arahan
  • "apache2handler" untuk pelaksanaan API pelayan Apache 2.0 Handler

Kod Contoh :

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}
Salin selepas log masuk

Nota Dokumentasi:

Dokumentasi fungsi php_sapi_name() menyediakan maklumat lanjut:

  • Nilai Pulangan Kemungkinan: Walaupun tidak menyeluruh, fungsi ini mungkin mengembalikan nilai seperti "apache," "cgi," "nsapi" dan "tux," yang mewakili API pelayan yang berbeza.
  • PHP >= 4.2.0: PHP memperkenalkan pemalar yang dipratentukan, PHP_SAPI, yang memegang nilai yang sama seperti php_sapi_name().

Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Skrip PHP Berjalan pada Baris Perintah atau melalui HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan