PHP相關關係及定義

2021-08-29 07:12:13 字數 1093 閱讀 9798

cgi(是一種協議):

是為了保證web server傳遞過來的資料是標準格式的,方便cgi程式的編寫者。

web server(如nginx)是內容的分發者。

處理靜態頁面:

如果請求/index.html,web server就可以解決,如nginx會去檔案系統中找到這個檔案,傳送給瀏覽器,這裡分發的是靜態資料。

處理動態頁面:

如果現在請求的是/index.php,根據配置檔案,nginx知道這個不是靜態檔案,需要去找php解析器來處理,那麼他會把這個請求簡單處理後交給php解析器。cgi規定要傳哪些資料、以什麼樣的格式傳遞給後方去處理這個請求的協議。

當web server收到/index.php這個請求後,會啟動對應的cgi程式,這裡就是php的解析器。接下來php解析器會解析php.ini檔案,初始化執行環境,然後處理請求,再以規定cgi規定的格式返回處理後的結果,退出程序。web server再把結果返回給瀏覽器。

fastcgi:

是用來提高cgi程式效能的。

怎樣提高效能呢?

cgi工作模式:php解析器會解析php.ini檔案,初始化執行環境"。當請求過來時,標準的cgi對每個請求都會執行這些步驟(沒必要每次都解析以及初始化),所以處理每個請求的時間比較長。

fastcgi工作模式:首先,fastcgi會先啟乙個master,解析配置檔案,初始化執行環境,然後再啟動多個worker。當請求過來時,master會傳遞給乙個worker,然後立即可以接受下乙個請求。這樣就避免了重複的解析以及初始化,使得效率更高。當worker不夠用時,master可以根據配置預先啟動幾個worker等著,當空閒worker太多時,也會停掉一些,這樣就提高了效能,也節約了資源。這就是fastcgi對程序的管理。

php-fpm:

是乙個實現了fastcgi的程式,被php官方收了。

php的直譯器:

是php-cgi。php-cgi只是個cgi程式,他自己本身只能解析請求,返回結果,不會程序管理。於是就出現了一些能夠排程php-cgi程序的程式叫php-fpm。

fastcgi是乙個協議,php-fpm實現了這個協議

php-fpm是fastcgi程序的管理器,用來管理fastcgi程序的

shiro 相關關係

一般繼承 authorizingrealm 授權 即可 其繼承了 authenticatingrealm 即身份驗證 而且也間接繼承了 cachingrealm 帶有快取實現 其中主要預設實現如下 org.apache.shiro.realm.text.inirealm users 部分指定使用者名...

PHP 安全及相關

關注安全問題的重要性 看到的遠非全部 function write text filename,text return true index md5 filename if isset open files index fputs open files index text return true ...

類物件的定義及關係

類和物件 類和物件 class 是兩種以計算機為載體的計算機語言的合稱。物件是對客觀事物的抽象,類是對物件的抽象。類是一種抽象的資料型別。它們的關係是,物件是類的例項,類是物件的模板。物件是通過new classname產生的,用來呼叫類的方法 類的構造方法 類物件的定義 類是現實世界或思維世界中的...