LAMP環境PHP緩存加速器的原理
LAMP=Linux+Apache+MySQL+PHP
1. Apache接收客戶的PHP程序請求,並根據規則過濾之。
2.Apache將PHP程序請求傳送給PHP處理模塊libphp5.so。
3.PHP引擎定位磁盤上的PHP文件,並將其加載到內存中解析。
4.PHP處理模塊libphp5.so將PHP源代碼編譯成爲操作碼。
5.PHP處理模塊libphp5.so執行操作碼,然後把操作碼緩存起來。
6. Apache接收客戶端新的PHP程序請求,PHP引擎直接讀取緩存執行操作碼文件。
LAMP經典網站架構PHP操作碼緩存原理示意圖
LNMP環境PHP緩存加速器的原理
LAMP=Linux+Nginx+MySQL+PHP
1. Nginx接收客戶端的PHP程序訪問請求。
2. Nginx根據擴展名等過濾規則將PHP程序請求傳遞給解析PHP的FCGI(php-fpm)進程。
3. PHP FPM進程調用PHP解析器讀取站點磁盤上的PHP文件,並加載到內存中。
4.PHP解析器將PHP程序編譯成爲操作碼文件,然後把操作碼緩存起來。
5.PHP FPM引擎執行操作碼後,返回數據給Ngnix,進而返回客戶端。
6.Nginx接收客戶新的PHP程序請求,PHP FPM引擎就會直接讀取緩存中的操作碼並執行,將結果返回。
LNMP經典網站架構PHP操作碼緩存原理示意圖