Server API字段显示PHP与Web服务器的交互方式:1、apache2handler为Apache模块模式;2、fpm-fcgi为PHP-FPM独立进程模式;3、cgi-fcgi为传统CGI模式;4、cli为命令行模式;5、litespeed为LiteSpeed专用接口模式。

如果您在PHP环境中执行phpinfo()函数,页面中Server API字段显示的内容直接反映了PHP与Web服务器的交互方式。以下是理解该字段含义的具体说明:
一、ServerAPI常见值及其含义
Server API(Server Application Programming Interface)表示PHP以何种接口形式被Web服务器调用,它决定了PHP的运行模式和生命周期管理机制。
1、apache2handler:表示PHP作为Apache模块(mod_php)嵌入在Apache进程中运行,请求由Apache直接调用PHP解释器处理。
2、fpm-fcgi:表示PHP以独立的FastCGI进程管理器(PHP-FPM)方式运行,Web服务器通过FastCGI协议与其通信。
立即学习“PHP免费学习笔记(深入)”;
3、cgi-fcgi:表示PHP以传统CGI模式运行,每次HTTP请求都会启动新的PHP进程,执行完毕即销毁。
4、cli:表示当前phpinfo()是在命令行界面下执行,不涉及Web服务器,仅用于脚本调试或本地运行。
5、litespeed:表示PHP通过LiteSpeed Web服务器的专用SAPI接口运行,利用其内置的LSAPI协议通信。
二、如何确认当前ServerAPI值
该值由PHP编译时的配置及Web服务器部署方式共同决定,无法在运行时动态修改,需通过实际输出确认。
1、创建一个名为info.php的文件,内容为。
2、将该文件放入Web服务器可访问的文档根目录下(如/var/www/html/或htdocs/)。
3、在浏览器中访问http://您的域名/info.php或http://localhost/info.php。
4、在输出页面中查找Server API所在行,右侧显示的即为当前运行模式。
三、不同ServerAPI对性能与配置的影响
Server API类型直接影响PHP进程模型、内存占用、扩展加载方式及php.ini加载路径,是排查环境异常的关键依据。
1、apache2handler模式下,PHP配置受Apache虚拟主机设置影响,.htaccess中可使用php_flag指令。
2、fpm-fcgi模式下,php.ini由PHP-FPM主配置指定,每个pool可独立配置进程数与超时参数。
3、cgi-fcgi模式因进程开销大,已基本被fpm-fcgi取代,常见于老旧共享主机环境。
4、cli模式使用的php.ini通常位于/usr/bin/php -i输出中的Loaded Configuration File路径,与Web模式不同。
5、litespeed模式需配合LiteSpeed Web服务器的PHP Handler设置,其php.ini路径由LSWS管理界面指定。











