以CGI方式運行時,web server將用戶請求以消息的方式轉交給PHP獨立進程,PHP與web服務之間無從屬關係. php
純粹調用--返回結果的形式通信.而模塊方式,則是將PHP作爲web-server的子進程控制,二者之間有從屬關係.最明顯的例子就是在CGI模式下,若是修改了PHP.INI的配置文件,不用重啓web服務即可生效,而模塊模式下則須要重啓web服務. linux
CLI則是命令行接口,用於在操做系統命令行模式下執行PHP,好比能夠直接在win的cmd或linux的shell模式下直接輸入 php a.php 來獲得結果.它與CGI模式最大的不一樣的地方在於既不會輸出HTTP頭信息(CGI模式除了輸出用戶能看到的結果外,還會輸出用戶不能直接看到的HTTP 頭信息),拋出的信息也直接以文本方式而不以HTML方式給出,好比新建一個 test.php, web
寫入內容 <?php phpinfo();?> ,在瀏覽器中能夠看到以HTML表格描述的信息,而在命令行輸入 php test.php 則會直接看到純文本的輸出. shell