php7主要是增加了些便利的寫法,如太空船符合,雙問號(hào)寫法,一次性加載多個(gè)類, trycache捕獲致命錯(cuò)誤等,以及內(nèi)
部調(diào)用的優(yōu)化,如zval使用堆內(nèi)存,zend_string
保存hash值避免重復(fù)計(jì)算,zend——parse_parameters改為宏實(shí)現(xiàn),使性能有了將近一倍的提升。
1. 基本變量: int,float由于只占用8個(gè)字節(jié)非常小,所以是直接賦值的,string和array是寫時(shí)復(fù)制,recount加1,都指向了
同一內(nèi)存地址;
2. 內(nèi)存管理分為:small(0-3k),large(3kb到2mb-4k),huge(大于2mb-4kb),內(nèi)存要注意對(duì)齊;
3. php生命周期:module_start,requeststart,excute,requestshutdown, moduleshutdown,
fpm模式多了fpmstart,并會(huì)在request處一直循環(huán)調(diào)用等待請(qǐng)求,fpm涉及到了網(wǎng)絡(luò)編程:
創(chuàng)建 socket,綁定ip,listern,while accept循環(huán)。php-fpm通過fastcgi協(xié)議和nginx通信
,通過tcpdump工具捕捉fastcgi協(xié)議內(nèi) 容:各種信息頭,請(qǐng)求參數(shù),值等信息。
另fpm信號(hào)處理:kill single user1,改變?nèi)罩居涗浳恢?,重新加載fpm等
。master管理進(jìn)程不處理請(qǐng)求,worker進(jìn)程負(fù)責(zé)處理請(qǐng)求。
4. php詞法和語法分析:re2c通過NFA把詞法分析成一個(gè)個(gè)token
,再利用bsion進(jìn)行語法分析生成ast語法樹,再生成opcode
,放到指令集在zend虛擬機(jī)中執(zhí)行。seaslog擴(kuò)展的學(xué)習(xí),
php目錄下ext目錄下可生成擴(kuò)展,擴(kuò)展需要掌握的知識(shí)量比較大,
要理清楚整個(gè)php各個(gè)環(huán)節(jié)的內(nèi)容,比較困難,
不過可以研讀他人的代碼來不斷學(xué)習(xí),暫時(shí)還沒有深入研讀的計(jì)劃,
后續(xù)看知識(shí)積累和工作需要而定。
下面附上一張陳雷老師的圖:
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出赫山免費(fèi)做網(wǎng)站回饋大家。另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。