PHP的工作原理以及lamp四者之間的關係

2021-09-08 15:36:05 字數 2312 閱讀 2572

最近搭建伺服器,突然感覺lamp之間到底是怎麼工作的,或者是怎麼聯絡起來?平時只是寫程式,重來沒有思考過他們之間的工作原理,借這個機會趕集惡補一下這個知識。

l:即作業系統,也就是建立在電腦硬體基礎上的最底層的東西,相當於:國家這個概念,而win或者linux就相當於不同的國家

a:就是web伺服器,這個伺服器 相當於國家領導人:主席,起到指導作用。

m:就是資料庫,儲存資料的地方,相當 銀行

p:就是php,相當於下屬,做事情的人

也就是說php是apache的乙個外掛程式,必須依靠web伺服器才可以執行。當客戶端瀏覽器觸發事件--->php程式提交到apache伺服器---->apache伺服器根據php程式的特點判斷是php程式,提交給php引擎程式--->php引擎程式解析並讀取資料庫生成相應的頁面

php引擎;像smarty就是,有自己的標籤模式並可以解析這種標籤 生成原生態的php程式

那麼如何優化**呢?其實就是觸發時間到生成相應的頁面過程,這個時間差越小,使用者體驗越好,那麼根絕上面幾步,我們可以想到的優化方法就是:客戶端提交的資料大小已經併發數量----- 都提交給apache伺服器處理---apache分配給php引擎---php程式和讀取資料庫---輸出

1:優化 客戶端資料提交,不過當使用者達到一定級別時候,這個資料還是很大的

2:優化 web伺服器,主要是處理高併發的效能

3:優化php引擎程式:samrty模版的引擎很不錯

4:優化php程式:主要是資料庫讀取的方面和php自身程式效率

5:資料庫優化:資料庫的配置以及優化方式,達到與php讀取效率的最完美匹配

6:輸出優化:使用js等技術 ajax技術

php,apache和mysql組合的工作過程:

php的所有應用程式都是通過web伺服器(如iis或apache)和php引擎程式解釋執行完成的,工作過程:

(1)當使用者在瀏覽器位址中輸入要訪問的php頁面檔名,然後回車就會觸發這個php請求,並將請求傳送化支援php的web伺服器。

(2)web伺服器接受這個請求,並根據其字尾進行判斷如果是乙個php請求,web伺服器從硬碟或記憶體中取出使用者要訪問的php應用程式,並將其傳送給php引擎程式。

(3)php引擎程式將會對web伺服器傳送過來的檔案從頭到尾進行掃瞄並根據命令從後台讀取,處理資料,並動態地生成相應的html頁面。

(4)php引擎將生成html頁面返回給web伺服器。web伺服器再將html頁面返回給客戶端瀏覽器。

簡言之:apache是web伺服器,它可以解析php語言。

apache的工作原理:

web系統是客戶端/伺服器式的,所以應該有伺服器程式和客戶端程式兩部分。常用的伺服器程式是apache;常用的客戶端程式是瀏覽器(如ie、 netscape、mozilla)。我們可以在瀏覽器的位址列內輸入統一資源定位位址(url)來訪問web頁面。web最基本的概念是超文字 (hypertext)。它使得文字不再是傳統的書頁式文字,而是可以在閱讀過程中從乙個頁面位置跳轉到另乙個頁面位置。用來書寫web頁面的語言稱為超 文字標記語言,即html。www服務遵從http協議,預設的tcp/ip埠是80,客戶端與伺服器的通訊過程簡述如下:

(1)客戶端(瀏覽器)和web伺服器建立tcp連線,連線建立以後,向web伺服器發出訪問請求(如get)。根據http協議,該請求中包含了客戶端的ip位址、瀏覽器的型別和請求的url等一系列資訊。

(2)web伺服器收到請求後,將客戶端要求的頁面內容返回到客戶端。如果出現錯誤,那麼返回錯誤**。

(3)斷開與遠端web伺服器的連線

php工作原理:

如下圖所示:

apache,php以及mysql的關係:

apache是web伺服器,主要是請求和響應的功能,是一種軟體,用於發布**。在配置檔案中可以設定檔案根目錄,處理的檔案型別以及埠等。apache單獨不能處理php**。

php(php 應用程式伺服器):不能單獨存在的,需要以apache為依託。也可以說php是apache功能模組的一種擴充套件,php作為apache的外掛程式,用於解 析php**。經過解析的動態網頁此時就不存在<?php ?>了。當apache服務啟動的同時也啟動了php。也就是說php必須和apache安裝在同一臺伺服器上,不可以分割。

mysql:一種開源的很流行的關係型資料庫。與apache無關,只是在響應php**中的sql操作的時候才被訪問。不需要與apache安裝在同一臺伺服器上,可以單獨存在,只需php遠端連線即可。

PHP的工作原理以及lamp四者之間的關係

最近搭建伺服器,突然感覺lamp之間到底是怎麼工作的,或者是怎麼聯絡起來?平時只是寫程式,重來沒有思考過他們之間的工作原理,借這個機會趕集惡補一下這個知識。l 即作業系統,也就是建立在電腦硬體基礎上的最底層的東西,相當於 國家這個概念,而win或者linux就相當於不同的國家 a 就是web伺服器,...

php的工作原理

php有一種專門解釋php的引擎稱之為zend引擎 對於源程式,php引擎全部讀入,而後進行詞法分析,如果遇到不認識的詞,就報parse error 詞法錯誤後終止分析 詞法分析後進入語法分析 語法分析按照一定的結構例如分號,進行語法組織,分析語法有無錯誤,如果出錯,報syntax error,但會...

php工作原理

1.php的安裝 如果需要自己配置伺服器和 php,有兩個方法將 php 連線到伺服器上。對於很多伺服器,php 均有乙個直接的模組介面 也叫做 sapi 這些伺服器包括 apache microsoft internet information server netscape 和 iplanet ...