Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah saya boleh Menentukan sama ada Skrip PHP Dilaksanakan melalui Baris Perintah atau Permintaan HTTP?

Bagaimanakah saya boleh Menentukan sama ada Skrip PHP Dilaksanakan melalui Baris Perintah atau Permintaan HTTP?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 00:37:10892semak imbas

How do I Determine if a PHP Script is Executed via Command Line or HTTP Request?

Membezakan Pelaksanaan Baris Perintah daripada Pelaksanaan HTTP dalam PHP

Menentukan sama ada skrip PHP dilaksanakan melalui baris arahan atau permintaan HTTP adalah penting untuk menyesuaikan format output. Semasa memeriksa pembolehubah SERVER['argc'] mungkin kelihatan seperti pendekatan yang sah, ia tidak selalunya tepat, walaupun dengan API pelayan 'Apache 2.0 Handler' Apache.

Kaedah kanonik untuk menyelesaikan tugas ini ialah php_sapi_name() fungsi.

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

Seperti yang dinyatakan dalam PHP dokumentasi:

php_sapi_name mengembalikan jenis antara muka antara pelayan web dan PHP.

Nilai pulangan yang mungkin termasuk "apache2handler," "cgi," "cli," " isapi," "litespeed," dll.

Sebagai alternatif, anda boleh menggunakan PHP_SAPI pemalar, yang mempunyai nilai yang sama seperti php_sapi_name(), diperkenalkan dalam PHP versi 4.2.0.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Menentukan sama ada Skrip PHP Dilaksanakan melalui Baris Perintah atau Permintaan HTTP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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