国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP內核基礎學習心得(一)

2019-11-06 06:29:07
字體:
來源:轉載
供稿:網友

 前言:

樓主只是剛剛接觸php內核學習這個純粹是個人興趣,寫博客也是為了記錄下來學到的東西以便之后需要時查看,如有寫的不好的地方還望各位大神不吝賜教。

   PHP(外文名:PHP: Hypertext PReprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。                       ------摘自百度

通常情況下PHP有兩種被運行的模式:CGI:公共網關接口(Common Gateway Interface)、CLI:命令行界面(Command Line Interface),其他的方式如FastCGI這里先不討論。關于CGI和CLI的相關內容參考以下文章http://blog.csdn.net/wmlml/article/details/47346201。

在平常的Web環境中,我們并不需要單獨啟動PHP,它一般都會作為一個模塊自動加載到web-server里面去,如apache加載的php5.so。 只要我們啟動了web-server,被一起加載的php便會和服務器一起解析被請求的php腳本。當然,這不是絕對的,當我們以fastcgi(詳情參考http://www.cnblogs.com/lidabo/p/4212419.html)模式安裝php的時候,往往就需要手動在終端運行php -b 127.0.0.1:9999或其它 命令來啟動來啟動php后端服務。

其實無論哪種模式,PHP的工作原理都是一樣的, 都是作為一種SAPI在運行(Server application Programming Interface: the API used by PHP to interface with Web Servers)。當我們在終端敲入php這個命令時候,它使用的是"command line sapi"!它就像一個mini的web服務器一樣來支持php完成這個請求,請求完成后再重新把控制權交給終端。

簡單來說, SAPI就是PHP和外部環境的代理器。它把外部環境抽象后, 為內部的PHP提供一套固定的, 統一的接口, 使得PHP自身實現能夠不受錯綜復雜的外部環境影響,保持一定的獨立性

在PHP啟動時,通常會有兩種概念上的啟動,一是PHP作為Apavhe的一個模塊啟動,Apache會加載一些擴展、常量、類、資源等等,這些東西都統一的被加載進內存中,直到Apache卸載PHP這個模塊。所以通常使用php去編寫的一些web腳本之所以不用編譯除了和zend引擎的關系之外和PHP的第一次啟動也有很大的關系。第二次啟動是Apache分配過來一個頁面請求時PHP的啟動。

說完了啟動就不得不說終止了,兩次啟動也對應了兩次終止。當一個PHP腳本執行完畢時(也可能被die()exit())會有一次終止,與之對應的是上文的第二次啟動,此時的終止僅僅釋放了運行的PHP腳本中占用的內存資源,第一次啟動的被當作Apache模塊的內存并沒有釋放,直到我們告訴Apache對PHP進行stop命令時才會釋放這部分內存。

對于上述的兩次啟動和終止的過程并不僅僅是講到的那么簡單,其中涉及了很多PHP預定義好的函數與擴展。具體內容網上已有非常詳細和全面的介紹,本人這里不敢贅述。詳情參考http://www.laruence.com/2008/08/12/180.html,http://www.cunmou.com/phpbook/1.2.md。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘洛县| 蓬莱市| 罗江县| 桃源县| 达拉特旗| 峨山| 彭州市| 芜湖县| 棋牌| 临安市| 长宁县| 离岛区| 尚义县| 新绛县| 穆棱市| 无极县| 隆子县| 蓬溪县| 治县。| 潞城市| 岳普湖县| 山丹县| 班玛县| 浦城县| 扎鲁特旗| 镇坪县| 广昌县| 嘉禾县| 洪江市| 阳西县| 新邵县| 东源县| 高要市| 洞口县| 陕西省| 清丰县| 四会市| 娄底市| 石棉县| 宕昌县| 玉门市|