PHP安装与部署
本文主要记录PHP
的安装与部署相关知识。
作为 CGI 处理器
CGI
是个协议,约定好 Web Server 传递给/usr/bin/php
处理器的参数、环境变量、POST 数据、HTTP Header 等内容。一次请求,就会调用一次/usr/bin/php
进行处理。这是一个完整的过程,每次都产生一个新的进程,加载一次 php.ini。
CGI
程序通过环境变量、命令行、标准输入输出进行交互,因此CGI
要求与服务器进程在同一台物理机上。
作为 FastCGI 处理器
FastCGI
是CGI
的改良版本。而PHP-FPM
正是实际实现了这个协议的软件。主要的改良点是:所有的请求都由PHP-FPM
守护进程 (Master
与Worker
)进行处理,并且php.ini
只在启动时被加载一次,大大提高了效率。
fastCGI
程序与服务器进程可以通过网络连接交互,因此可以分布在不同的计算机上,这不但可以提高性能,同时也提高了系统的扩展能力。
作为模块
PHP
提供了一个模块接口SAPI
。Apache
IIS
等服务器将这个接口模块包含在自身内,这样就拥有了解释执行PHP
脚本语言的能力了。