CGI
- CGI(Common Gateway Interface) 是爲了保證web server傳遞過來的數據是標準格式的,方便CGI程序的編寫者。
- 是個協議,跟進程什麼的不要緊。
- 能夠用任何一種語言編寫,只要這種語言具備標準輸入、輸出和環境變量。
FastCGI
- 是用來提升CGI程序性能的。CGI程序反覆加載是CGI性能低下的主要緣由,若是CGI程序保持在內存中並接受FastCGI進程管理器調度,則能夠提供良好的性能、伸縮性、Fail-Over特性等。
- 是常駐型的CGI,它能夠一直運行,在請求到達時,不會花費時間去fork一個進程來處理。
- 是CGI的升級版,一種語言無關的協議,用來溝通程序(如PHP, Python, Java)和Web服務器(Apache2, Nginx), 理論上任何語言編寫的程序均可以經過Fastcgi來提供Web服務。
PHP-FPM
- (FastCGI Process Manager)你們都知道,PHP的解釋器是php-cgi。php-cgi只是個CGI程序,他本身自己只能解析請求,返回結果,不會進程管理(皇上,臣妾真的作不到啊!)因此就出現了一些可以調度php-cgi進程的程序,好比說由lighthttpd分離出來的spawn-fcgi。好了PHP-FPM也是這麼個東東,在長時間的發展後,逐漸獲得了你們的承認(要知道,前幾年你們但是抱怨PHP-FPM穩定性太差的),也愈來愈流行。
- 使用PHP-FPM來控制PHP-CGI的FastCGI進程。在沒有PHP-FPM以前,是直接打開php-cgi.exe(win32)、php-cgi進程來處理fastcgi的請求的。或者是用spawn-fcgi或uwsgi相似的fastcgi進程管理軟件。PHP-FPM的目的就是解決spawn-fcgi和uwsgi等相似管理器的缺陷,自php5.3之後版本開始被官方加入。
phpize
- 是用來擴展php擴展模塊的,經過phpize能夠創建php的外掛模塊。
- 好比你想在原來編譯好的php中加入memcached或者ImageMagick等擴展模塊,可使用phpize。
PECL
- PHP Extension Community Library,它管理着最底層的PHP擴展。這些擴展是用 C 寫的。
PEAR
- PHP Extension and Application Repository,它管理着項目環境的擴展。這些擴展是用 PHP 寫的。
Composer
- PHP依賴管理的新時代
- 對於現代語言而言,包管理器基本上是標配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的則是 PEAR,不過 PEAR 坑很多:
- 依賴處理容易出問題
- 配置很是複雜
- 難用的命令行接口
- 好在咱們有 Composer,PHP依賴管理的利器。它是開源的,使用起來也很簡單,提交本身的包也很容易。
PSR
- PHP Standard Recommendations,由 PHP FIG 組織制定的 PHP 規範,是 PHP 開發的實踐標準。
- 目前已表決經過了 6 套標準,已經獲得大部分 PHP 框架的支持和承認。
SAPI
- Server Application Programming Interface(服務端應用編程端口)
- PHP經過SAPI提供了一組接口,供應用和PHP內核之間進行數據交互。
PHP CLI
- 從版本 4.3.0 開始,PHP 提供了一種新類型的 CLI SAPI支持,名爲 CLI,意爲 Command Line Interface,即命令行接口。
- 主要用做 PHP 的開發外殼應用。
影響 PHP 行爲的擴展
-
APC
Alternative PHP Cache (可選 PHP 緩存)
-
APCu
APC User Cache
-
APD
Advanced PHP debugger
-
bcompiler
PHP 字節碼編譯器
-
BLENC
BLowfish ENCoder for PHP source scripts
-
錯誤處理
錯誤處理和日誌記錄
-
htscanner
htaccess-like support for all SAPIs
-
inclued
Inclusion hierarchy viewer
-
Memtrack
簡單監視內存使用狀況
-
OPcache
性能加速
-
輸出控制
輸出緩衝控制
-
PHP 選項/信息
-
runkit
official PECL PHP Runkit extension
-
scream
Break the silence operator
-
uopz
User Operations for Zend
-
Weakref
Weak References
-
WinCache
Windows Cache for PHP
-
Xhprof
層次式性能分析器
本地環境
PHP Version 7.1.13 - phpinfo() Configurationphp
- BCMath 任意精度數學[數學擴展]
- Bzip2 用於透明地讀寫 bzip2(.bz2)壓縮文件[壓縮與歸檔擴展]
- Calendar [日期與時間相關擴展]
- Ctype 字符類型檢測[變量與類型相關擴展]
- cURL Client URL 庫[其它服務]
- DBA Database (dbm-style) Abstraction Layer[數據庫抽象層]
- DOM Document Object Model[XML 操做]
- EXIF 可交換圖像信息[圖像生成和處理]
- Fileinfo 文件信息[文件系統相關擴展]
- Filter Data Filtering[變量與類型相關擴展]
- FTP 實現了經過 FTP 協議訪問文件服務器的客戶端[FTP]
- GD 圖像處理[GD]
- Gettext 實現了NLS (Native Language Support) API,他能夠用來國際化您的PHP程序[國際化與字符編碼支持]
- Hash 哈希信息摘要框架[加密擴展]
- iconv 字符集轉換[國際化與字符編碼支持]
- Json JavaScript對象符號[其它基本擴展]
- LDAP Lightweight Directory Access Protocol[其它服務]
- libxml [XML 操做]
- mbstring 多字節字符串[國際化與字符編碼支持]
- MySQLi MySQL加強版擴展[MySQL]
- Mysqlnd MySQL Native Driver[MySQL]
- ODBC [數據庫抽象層]
- OpenSSL 對稱/非對稱加解密,以及 PBKDF二、 PKCS七、 PKCS十二、 X509 和其餘加密操做[加密擴展]
- PCNTL 進程控制[進程控制擴展]
- PCRE 正則表達式(兼容 Perl)[文本處理]
- PDO PHP 數據對象[數據庫抽象層]
- PDO_MYSQL MySQL Functions[PDO 驅動]
- PDO_ODBC ODBC and DB2 Functions[PDO 驅動]
- PDO_SQLITE SQLite Functions[PDO 驅動]
- Phar [壓縮與歸檔擴展]
- POSIX [進程控制擴展]
- Readline 實現了訪問 GNU Readline 庫的接口[針對命令行的擴展]
- Reflection 反射[變量與類型相關擴展]
- Session
- Session Handling[Session 擴展]
- shmop Shared Memory[進程控制擴展]
- SimpleXML [XML 操做]
- SOAP [Web 服務]
- Sockets [其它服務]
- SPL PHP標準庫 (SPL)[其它基本擴展]
- SQLite3 [針對各數據庫系統對應的擴展]
- Streams 流[其它基本擴展]
- 在PHP中有這麼一族函數,他們是對UNIX的V IPC函數族的包裝
- sysvmsg
- sysvsem
- sysvshm 內存共享方案
- Tokenizer [其它基本擴展]
- WDDX [XML 操做]
- XML
- XMLReader [XML 操做]
- XML-RPC [Web 服務]
- XMLWriter [XML 操做]
- XSL [XML 操做]
- Zip [壓縮與歸檔擴展]
- Zlib
- Zlib Compression [壓縮與歸檔擴展]