Bagaimanakah Saya Boleh Tentukan dengan Amanah jika Skrip PHP Saya Berjalan dari Baris Perintah atau melalui HTTP?

Patricia Arquette
Lepaskan: 2024-11-16 12:13:03
asal
323 orang telah melayarinya

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

Menentukan Command-Line vs. HTTP Execution dalam PHP

Tugas biasa dalam pembangunan skrip PHP ialah menentukan jenis persekitaran pelaksanaan, sama ada skrip berjalan melalui baris arahan atau melalui HTTP. Pengetahuan ini penting untuk membuat keputusan pemformatan output dan menyesuaikan tingkah laku dengan sewajarnya.

Kaedah tradisional untuk menyemak kewujudan SERVER['argc'] tidak boleh dipercayai, kerana ia boleh diisi walaupun semasa menggunakan 'Apache API pelayan 2.0 Pengendali. Cara kanonik untuk menyelesaikan pertanyaan ini adalah dengan menggunakan fungsi php_sapi_name().

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

Fungsi php_sapi_name() menyediakan pelbagai kemungkinan nilai pulangan, termasuk aolserver, apache, apache2filter, apache2handler, caudium, cgi, cli dan webjames, antara lain. Rujuk dokumentasi PHP untuk senarai lengkap.

Selain itu, dalam PHP >= 4.2.0, PHP_SAPI pemalar pratakrif memegang nilai yang sama seperti php_sapi_name(). Dengan menggunakan pemalar ini, pembangun boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod.

Dengan mematuhi pendekatan kanonik ini, pembangun PHP boleh menentukan persekitaran pelaksanaan skrip mereka dengan pasti, membolehkan pemformatan output disasarkan dan pelarasan tingkah laku yang disesuaikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Tentukan dengan Amanah jika Skrip PHP Saya Berjalan dari 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