Rumah >pembangunan bahagian belakang >tutorial php >Penjelasan terperinci tentang perbezaan antara CLI dan CGI dalam PHP

Penjelasan terperinci tentang perbezaan antara CLI dan CGI dalam PHP

王林
王林asal
2024-03-10 09:39:04432semak imbas

Penjelasan terperinci tentang perbezaan antara CLI dan CGI dalam PHP

Tajuk: Perbezaan antara CLI dan CGI dalam PHP dan analisis sampel kod

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas untuk membangunkan tapak web dan aplikasi web. Dalam aplikasi PHP, dua persekitaran pelaksanaan yang berbeza sering terlibat: CLI (Antara Muka Talian Perintah) dan CGI (Antara Muka Gerbang Biasa). Artikel ini akan memberikan analisis terperinci tentang kedua-dua persekitaran pelaksanaan ini, membincangkan perbezaannya dan menggambarkannya dengan contoh kod khusus.

1. Konsep CLI dan CGI

CLI dan CGI adalah kedua-dua persekitaran pelaksanaan PHP, tetapi ia mempunyai kaedah kerja dan senario aplikasi yang berbeza.

  • CLI: Antara Muka Baris Perintah, antara muka baris arahan. Skrip PHP dalam persekitaran CLI dilaksanakan terus melalui tetingkap terminal dan biasanya digunakan untuk melaksanakan beberapa tugas sistem, penyahpepijatan skrip, pemprosesan kelompok dan operasi lain.
  • CGI: Antara Muka Gerbang Biasa, iaitu antara muka get laluan biasa. Skrip PHP dalam persekitaran CGI dilaksanakan melalui pelayan Web untuk memproses permintaan Web dan menjana kandungan dinamik untuk kembali ke pelayar klien.

2. Perbezaan antara CLI dan CGI

  1. Kaedah pelaksanaan:

    • Skrip PHP dalam persekitaran CLI boleh dilaksanakan terus dalam baris arahan tanpa melalui pelayan web.
    • Skrip PHP dalam persekitaran CGI perlu ditafsir dan dilaksanakan oleh pelayan web (seperti Apache), dan kemudian hasilnya dikembalikan kepada klien.
  2. Memproses permintaan:

    • Persekitaran CLI digunakan terutamanya untuk melaksanakan tugas baris arahan dan mengendalikan operasi peringkat sistem.
    • Persekitaran CGI digunakan terutamanya untuk memproses permintaan web dan menjana kandungan dinamik sebagai tindak balas kepada permintaan pengguna.
  3. Pembolehubah persekitaran:

    • Skrip PHP dalam persekitaran CLI tidak boleh mengakses terus pembolehubah persekitaran berkaitan permintaan HTTP, seperti $_SERVERdsb.
    • Skrip PHP dalam persekitaran CGI boleh mengakses pembolehubah persekitaran yang berkaitan dengan permintaan HTTP, termasuk maklumat pengepala permintaan, kaedah permintaan, dsb.

3. Contoh kod

Contoh persekitaran CLI:

<?php
// CLI环境下的PHP脚本示例
echo "Hello, CLI Environment!
";
$args = getopt(null, ["name:"]);
if(isset($args['name'])) {
    echo "Hello, " . $args['name'];
}

Laksanakan skrip dalam terminal:

php cli_script.php --name=John

Contoh persekitaran CGI:

<?php
// CGI环境下的PHP脚本示例
header("Content-Type: text/html");
echo "<h1>Hello, CGI Environment!</h1>";
echo "<p>Your IP address is: " . $_SERVER['REMOTE_ADDR'] . "</p>";

Letakkan skrip melalui web di dalam direktori pelayar Lawati untuk melihat kesannya.

Kesimpulan

Melalui analisis terperinci dan contoh kod CLI dan CGI di atas, kita dapat memahami dengan jelas perbezaan antara kedua-dua persekitaran pelaksanaan ini. Bagi pembangun, dalam aplikasi sebenar, mereka perlu memilih cincin pelaksanaan yang sesuai mengikut keperluan mereka

Atas ialah kandungan terperinci Penjelasan terperinci tentang perbezaan antara CLI dan CGI dalam PHP. 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