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 坑不少:
- 依赖处理容易出问题
- 配置非常复杂
- 难用的命令行接口
- 好在我们有 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 [压缩与归档扩展]