PHP運行原理之Opcodes

在我以前的博客《Laravel5框架性能優化技巧》中提到開啓OPcache能夠提高php性能。那麼爲何開啓OPcache就能夠提高php運行性能呢?這裏就要提到php的運行原理了--Opcodes。php

好比一段簡單的PHP代碼:html

<?php
    echo 'Johnson‘;
?>

PHP執行這段代碼會通過以下4個步驟(確切的來講,應該是PHP的語言引擎Zend)緩存

1.Scanning(Lexing) ,將PHP代碼轉換爲語言片斷(Tokens)
2.Parsing, 將Tokens轉換成簡單而有意義的表達式
3.Compilation, 將表達式編譯成Opocdes
4.Execution, 順次執行Opcodes,每次一條,從而實現PHP腳本的功能。

因此當開啓OPcache的時候,php在一次請求中已經將Opcodes進行了緩存,那麼下次請求的時候,就是跳過前三步,直接運行OPcache裏對應的Opcodes,因此大大提高了PHP運行的性能。性能優化

相關文章
相關標籤/搜索