1. 程式人生 > 程式設計 >PHP相關名詞通俗解釋

PHP相關名詞通俗解釋

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 坑不少:
    1. 依賴處理容易出問題
    2. 配置非常複雜
    3. 難用的命令列介面
  • 好在我們有 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() Configuration

  • 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 對稱/非對稱加解密,以及 PBKDF2、 PKCS7、 PKCS12、 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
    • XML 解析器[XML 操作]
  • XMLReader [XML 操作]
  • XML-RPC [Web 服務]
  • XMLWriter [XML 操作]
  • XSL [XML 操作]
  • Zip [壓縮與歸檔擴充套件]
  • Zlib
    • Zlib Compression [壓縮與歸檔擴充套件]