本文目錄一覽:
CGI與php之間的關係是什麼?
CGI程序的功能:首先Nginx等webserver向這個CGI程序請求某個頁面,如果該頁面存在,CGI程序就會去獲取那個頁面的原始數據,然後把它轉換成HTML並把結果返回給webserver進而輸出給用戶瀏覽器。
PHP等只要能夠處理文本的語言都可以用於編寫CGI程序。
cgi是什麼?php—cgi又是什麼?這兩個有什麼關係
CGI是公共網關接口,是網站服務器進程經過操作系統和互聯網客戶端進行通訊的一套規範標準。
PHP-CGI是PHP支持CGI標準的執行檔。
傳統CGI需要為每個訪問開一個操作系統進程,導致負荷很大。基本在服務器部署上已經不採用CGI。現在主要應用Fast-CGI標準
php和cgi是什麼關係
一般的網頁服務架構是這樣的:
瀏覽器
|
網站服務器(apache, nginx等) 只支持靜態內容(html, 圖片,文件)
| \
CGI Fast CGI (兩種編程規範,按照特定的方式讀輸入,寫輸出。也叫協議。)
| |
任何語言 任何語言 (按照上面的規範來寫代碼,提供動態內容,比如讀寫數據庫,根據數據庫展示不同內容)
任何語言中就包括了php
其中CGI的方式就是,網站服務器會把CGI程序當成普通的程序一樣調用,然後把CGI程序的標準輸出流作為內容返回給瀏覽器。每來一個請求,就要啟動一個CGI程序。所以php可以直接加上可執行屬性(僅linux),就可以讓網站服務器調用。缺點是響應慢而且佔用內存多(每次啟動程序的消耗較大)。
而FastCGI的方式就是,網站服務器通過socket跟FastCGI程序獲取輸入輸出。FastCGI程序會啟動一個程序一直運行並監聽端口。每來一個請求,不需要再啟動新的程序。php提供了php-fpm這個東東來監聽端口。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/304382.html