日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP源码研究

發布時間:2024/4/17 php 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP源码研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近閑來無事,所以對PHP這門語言進行更深一層的了解,對源碼進行一番研究,是如何執行我們寫的PHP腳本的。

1.1.3 PHP的相關組成

1.1.3.1 SAPI

PHP本身可以理解為是一個庫函數,提供語言的編譯與執行服務,它有標準的輸入、輸出,而SAPI是PHP的接入層,它接收用戶的請求,然后調用PHP內核提供的一些接口完成PHP腳本的執行,所以嚴格意義上講SAPI并不算PHP內核的一部分。

PHP的角色就好比是leveldb,它實現了基本存儲功能,但是沒有網絡處理模塊,而我們基于leveldb實現的完整存儲服務就好比是SAPI。

PHP中常用的SAPI有cli、php-fpm,cli是命令行下執行PHP腳本的實現:bin/php script.php,它是單進程的,處理模型比較簡單,而php-fpm相對比較復雜,它實現了網絡處理模塊,用于與web服務器交互。

1.1.3.2 Zend引擎

Zend是PHP語言實現的最為重要的部分,是PHP最基礎、最核心的部分,它的源碼在/Zend目錄下,PHP代碼從編譯到執行都是由Zend完成的,后面章節絕大部分的源碼分析都是針對Zend的。Zend整體由兩個部分組成:

編譯器: 負責將PHP代碼編譯為抽象語法樹,然后進一步編譯為可執行的opcodes,這個過程相當于GCC的工作,編譯器是一個語言實現的基礎
執行器: 負責執行編譯器輸出的opcodes,也就是執行PHP腳本中編寫的代碼邏輯

2.相關文章

[[譯] 理解 PHP 內部函數的定義(給PHP開發者的PHP源碼-第二部分)][1]

總結

以上是生活随笔為你收集整理的PHP源码研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。