PHP相关名词通俗解释

544 阅读5分钟
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 [压缩与归档扩展]