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 }
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!