php 執行模式

2021-09-24 11:38:23 字數 1087 閱讀 8060

最近在研究多執行緒,多程序,swoole的知識,多次提到了php執行模式,於是寫了這篇筆記

執行模式

1、cgi–淘汰

2、fastcgi–php-fpm

3、cli–

4、web模組模式–apache中配置php模組

我們安裝完php後會有兩個程式

windows下:php.exe, php-cgi.exe

linux下:php, php-cgi

一、cgi

cgi即通用閘道器介面,已經是比較老的模式了,這幾年都很少用了。

特點:每有乙個使用者請求,都會先要建立cgi的子程序,即呼叫php-cgi程式,然後處理請求,處理完後結束這個子程序,這就是fork-and-execute模式

當使用者請求數量非常多時,會大量擠占系統的資源如記憶體,cpu時間等,造成效能低下。

二、fastcgi

fast-cgi 是cgi的公升級版本,fastcgi 像是乙個常駐 (long-live) 型的 cgi,它可以一直執行著,只要啟用後,不會每

次都要花費時間去fork一次。

應用:nginx + php-fpm

location ~ \.php$
php-fpm載入配置及環境,因此,修改了php.ini就需要重啟php-fpm服務;

php-fpm分為master程序和worker程序,master程序負責排程worker程序。

php-fpm載入php-cgi程式來解釋php檔案。

三、cli模式

就是我們在命令列下使用 php 程式來解釋執行的場景

比如:

php test.php

php -m

php -v

php -r 'echo 123;'

...

在cli模式下才能發揮出php的優勢,比如,多程序,多執行緒,swoole擴充套件等應用

四、web模組模式

在apache的配置中載入php直譯器模組,這樣apache就可以執行php了,顯然這種方式不如fastcgi的解耦設計。

優點是,避免了埠的**,響應稍快。

缺點是,併發能力不好擴充套件。

PHP的幾種執行模式

php一共分為五大執行模式 包括cgi fast cgi cli isapi apache 模組的 dll cgicgi即通用閘道器介面 common gateway inte ce 它是一段程式,通俗的講cgi就象是一座橋,把網頁和web伺服器中的執行程式連線起來,它把html接收的指令傳遞給伺服...

php幾種執行模式總結

php一共分為五大執行模式 包括cgi fast cgi cli isapi apache 模組的 dllcgi 1 cgi cgi即通用閘道器介面 common gateway inte ce 它是一段程式,通俗的講cgi就象是一座橋,把網頁和web伺服器中的執行程式連線起來,它把html接收的指...

php 的 cli 執行模式

php cli是php command line inte ce的簡稱 就是php在命令列執行的介面,區別於在web伺服器上執行的php環境 php cgi,isapi等 也就是說,php不單可以寫前台網頁,它還可以用來寫後台的程式。php的cli shell指令碼適用於所有的php優勢,使建立要麼...