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 [压缩与归档扩展]