CGI(Common Gateway Interface)是Web服務(wù)器與應(yīng)用程序之間進(jìn)行信息交互的協(xié)議,它是指的一種Web服務(wù)器使用外部程序來處理Web請求的技術(shù)規(guī)范。PHP是一種用來開發(fā)Web應(yīng)用程序的常用腳本語言。在PHP中,CGI被稱作PHP-CGI。
PHP-CGI是一種將PHP程序編譯為可執(zhí)行文件并在Web服務(wù)器上運(yùn)行的CGI程序。PHP-CGI執(zhí)行完畢后會將結(jié)果返回給Web服務(wù)器,由服務(wù)器將結(jié)果發(fā)送至客戶端。PHP-CGI可以完成Web應(yīng)用程序的動態(tài)數(shù)據(jù)處理、數(shù)據(jù)庫訪問、Cookie和Session的處理等重要任務(wù)。
以下是一個(gè)簡單的CGI腳本例子:
#!/usr/bin/env python print("Content-Type: text/html;charset=utf-8") print() print("") print("") print("CGI Test ") print("") print("") print("CGI Test
") print("Hello World!
") print("") print("")
該腳本可以將Hello World!輸出到瀏覽器。在這個(gè)腳本中,第一行指定了腳本解釋器為Python,第二行指定輸出的MIME類型為text/html;charset=utf-8。接著輸出了HTML文檔,其中body部分包含了要顯示的內(nèi)容。
PHP-CGI與Web服務(wù)器之間的通信是通過二進(jìn)制協(xié)議(如FCGI或SCGI)進(jìn)行的。二進(jìn)制協(xié)議比文本協(xié)議更快、更靈活,PHP-CGI使用二進(jìn)制協(xié)議可以更快地處理請求。
以下是一個(gè)使用PHP-CGI處理Web請求的例子:
#!/usr/bin/env php-cgi"; echo ""; echo "PHP CGI Test "; echo ""; echo ""; echo "PHP CGI Test
"; echo "Hello World!
"; echo ""; echo "