您好,登錄后才能下訂單哦!
PHP執(zhí)行PHP腳本代碼一般會(huì)經(jīng)過(guò)如下4個(gè)步驟:
1、Scanning(Lexing) —— 將PHP代碼轉(zhuǎn)換為語(yǔ)言片段(Tokens)
2、Parsing —— 將Tokens轉(zhuǎn)換成簡(jiǎn)單而有意義的表達(dá)式
3、Compilation —— 將表達(dá)式編譯成opocdes
4、Execution —— 順次執(zhí)行Opcodes,每次一條,從而實(shí)現(xiàn)PHP腳本的功能
(opcode類(lèi)似一種二進(jìn)制格式,php先將源代碼編譯成opcode,然后再執(zhí)行)
Apache+php的模式:
1、CGI:
在服務(wù)器響應(yīng)用戶(hù)的php頁(yè)面請(qǐng)求時(shí),apache將源代碼遞給zend Engine(php的解釋器),zend Engine將執(zhí)行結(jié)果以html的格式返回給apache,apache與zend Engine之間使用cgi協(xié)議,此時(shí)一個(gè)用戶(hù)請(qǐng)求服務(wù)端需使用兩個(gè)進(jìn)程
2、module
在Apache中加入php_mod模塊,apache同時(shí)處理靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容,一個(gè)請(qǐng)求只需一個(gè)進(jìn)程
3、FAST CGI
另外添加一臺(tái)php服務(wù)器,該服務(wù)器預(yù)先創(chuàng)建若干個(gè)空進(jìn)程,提高響應(yīng)速度
php加速器:
服務(wù)器默認(rèn)將opcode存放于相應(yīng)請(qǐng)求的進(jìn)程內(nèi)存空間中,這樣每個(gè)請(qǐng)求都要編譯一次php,php加速器則是將opcode緩存于php的共享緩存中,使同一段代碼只需編譯一次,后續(xù)可直接執(zhí)行,提高性能。
嵌入式web開(kāi)發(fā)語(yǔ)言:僅將php部分內(nèi)容交給zend engine執(zhí)行
index.php <html> <head></head> <?php php?> </html>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。