菜鳥學Linux第055篇筆記php基礎

科技探索者發表於2017-11-13

菜鳥學Linux 第055篇筆記 php基礎




ActiveX 是一個客戶端執行動態指令碼直譯器


apache

DSO (dynamic shared object)

CGI (Common Gateway Interface)

protocol

web程式

MVC (Model View Controller)

軟體設計框架,在web裡可以實現將動態資料處理和新增html格式分離開來執行

(個人狹義的理解)


webapp


程式語言

靜態語言:編譯型語言 

C、C++, JAVA

優點:效能好、

缺點:每一次改動都需要重新編譯,每一個環節都需要自制,

  開發週期長,維護成本大

適用環境:對實時性要求高,效能要求高,

  如資料庫伺服器軟體,作業系統,驅動

動態語言:解釋型語言

shell, perl, python

優點:便於維護,眾多共享模組,開發週期短

缺點:效能相對靜態差一些


facebook

動態語言–>靜態語言

php–>Hiphop–>C++


asp, php

php (PHP is Hypertext Preprocessor)

官方網站:www.php.net



編譯解釋查錯

詞法分析

語法分析

生成執行路徑



php 解釋型


php source code –> 編譯成二進位制 –> 執行二進位制格式


opcode 操作碼 編譯生成的 只可以zend engine 裡執行


快取器 (加速器)

APC (Alternative PHP Cache)

eAccelerator

XCache

Zend Optimizer 



PHP 原始碼目錄結構

1、build 主要放置一些跟原始碼編譯相關的檔案,比如構建之前的buildconf指令碼

 及一些檢查環境的指令碼

2、ext  官方的擴充套件目錄,包括了絕大多數的PHP函式的定義和實現,如array系列

 pdo系列、sql系列等函式的實現,個人開發的擴充套件在測試時也可以放到此

 目錄,以方便測試等

3、main  存放PHP最為核心的檔案,是實現PHP的基礎設施,這裡和Zend引擎不一樣

 Zend引擎主要實現最核心的語言環境。

4、Zend  Zend引擎的實現目錄,如指令碼的詞法語法解析,opcode的執行以及擴充套件機制

 的實現等等

5、pear  PHP 擴充套件與應用倉庫,包含PEAR的核心檔案

6、sapi  包含了各種伺服器抽象層的程式碼,如apached的mod_php, cgi, fastcgi,fpm等

7、TSRM  PHP的執行緒安全是構建在TSRM庫之上的,PHP實現中常見的*G巨集通常是對TSRM的

 封裝,(Thread Safe Resource Manager)

8、tests PHP的測試指令碼集合,包含PHP各項功能的測試檔案

9、win32 主要包括windows平臺相關的一些實現,如socket的實現在windows下和*Nix

 平臺不太一樣,同時也包括了windows下編譯PHP相關的指令碼。




HTML 格式

<html>

<head>

<title> </title>

</head>

<body>

</body>

</html>



apache+php

CGI 當有使用者請求動態頁面時開啟另外一個程式來處理該動態請求

Module 請求動態頁面時,由apache程式內部來處理該動態請求

FastCGI 將動態處理請求完全和apache分離出來成為一個單獨的程式來響應

客戶的動態頁面請求


Nginx 處理靜態內容比apache效能要強很多



使httpd伺服器實現動態指令碼處理 

yum install php53 php53-mbstring

mbstring Multi-Byte string 多位元組字串

cli Command-Line Interface

本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1884602如需轉載請自行聯絡原作者
Winthcloud


相關文章