目录

PHP 安装与部署

本文主要记录PHP的安装与部署相关知识。

PHP 如何提供服务

作为 CGI 处理器

CGI是个协议,约定好Nginx等服务器传递给/usr/bin/php处理器的参数、环境变量、POST数据、HTTP Header等内容。一次请求,就会调用一次/usr/bin/php进行处理。这是一个完整的过程,每次都产生一个新的进程,加载一次php.ini

CGI程序通过环境变量、命令行、标准输入输出进行交互,因此CGI要求与服务器进程在同一台物理机上。

作为模块

PHP提供了一个模块接口SAPIApache IIS 等服务器将这个接口模块包含在自身内,这样就拥有了解释执行PHP脚本语言的能力了。

作为 FastCGI 处理器

FastCGICGI的改良版本。而PHP-FPM正是实际实现了这个协议的软件。主要的改良点是:所有的请求都由几个常驻内存的PHP-FPM进程(MasterWorker)进行处理,并且php.ini只在启动时被加载一次,大大提高了效率。

fastCGI程序与服务器进程可以通过网络连接交互,因此可以分布在不同的计算机上,这不但可以提高性能,同时也提高了系统的扩展能力。