📜  如何检查我的服务器使用 cgi、fcgi 或 fpm. - PHP (1)

📅  最后修改于: 2023-12-03 15:38:50.391000             🧑  作者: Mango

如何检查我的服务器使用 CGI、FCGI 或 FPM - PHP

概述

当您运行 PHP 时,有不同的选项可以选择与 Web 服务器交互。 您可以选择使用 CGI (公共网关接口)、FCGI (快速 CGI)或 FPM (FastCGI 进程管理器)。

在本文中,我们将介绍如何检查您的服务器正在使用哪种选项以及如何更改它们。 我们将涵盖 Apache 和 Nginx 作为 Web 服务器的常见情况。

Apache + CGI

如果您使用的是 Apache Web 服务器与 CGI,那么您可以通过查看 phpinfo 页面中的 Server API 来确定 PHP 是否与 CGI 集成。 运行以下代码将返回一个标记为“CGI”的结果:

<?php phpinfo(); ?>

接下来,通过检查 HTTP 头来确定 CGI 是否正在使用。 运行以下代码以查看 HTTP 头信息:

curl -I https://example.com/index.php

在返回结果中,您应该看到以下内容:

X-Powered-By: PHP/5.6.30
Content-type: text/html; charset=UTF-8

如果服务器响应中包括“X-Powered-By: PHP”标头,那么您的服务器正在使用 CGI。

Apache + FCGI

如果您使用的是 Apache 服务器与 FCGI,则可以通过检查 phpinfo 页面中的 Server API 是否标记为“FCGI”来确定是否已启用 FCGI。 运行以下代码将返回一个标记为“FCGI”的结果:

<?php phpinfo(); ?>

另一个证据表明您的服务器正在使用 FCGI 的方法是,当您运行以下代码时,您将看到与 CGI 不同的响应信息:

curl -I https://example.com/index.php

在返回结果中,您应该看到以下内容:

X-Powered-By: PHP/5.6.30
X-FastCGI-Cache: MISS
Content-type: text/html; charset=UTF-8

如果服务器响应中包括“X-FastCGI-Cache”标头,那么您的服务器正在使用 FCGI。

Apache + FPM

如果您使用的是 Apache Web 服务器与 FPM,则您可以编辑 php-fpm 的配置文件(通常为 php-fpm.conf 或 php-fpm.d/www.conf)以更改 FPM 的设置。

Nginx + CGI

Nginx Web 服务器可以与 PHP 集成。 当 Nginx 通过 FastCGI(FCGI)进程与 PHP 集成时,它称为 PHP FPM。 FPM 可用于替代 Nginx 的原始 CGI 或 Apache 的 mod_php。

要确定您是在使用 CGI 集成,运行以下代码:

<?php phpinfo(); ?>

再次检查“Server API”是否为“CGI”。

接下来,通过检查 HTTP 头来确定 Nginx 是否正在使用 CGI。 运行以下代码以查看 HTTP 头信息:

curl -I https://example.com/index.php

在返回结果中,您应该看到以下内容:

X-Powered-By: PHP/5.6.30
Content-type: text/html; charset=UTF-8

如果服务器响应中包括“X-Powered-By: PHP”标头,那么您的服务器正在使用 CGI。

Nginx + FCGI

要确定您正在使用 FCGI,您可以再次运行 phpinfo,并检查“Server API”是否为“FCGI”。 例如:

<?php phpinfo(); ?>

另一个证据表明您的服务器正在使用 FCGI 的方法是,当您运行以下代码时,您将看到与 CGI 不同的响应信息:

curl -I https://example.com/index.php

在返回结果中,您应该看到以下内容:

X-Powered-By: PHP/5.6.30
X-FastCGI-Cache: MISS
Content-type: text/html; charset=UTF-8

如果服务器响应中包括“X-FastCGI-Cache”标头,那么您的服务器正在使用 FCGI。

Nginx + FPM

如果您使用的是 Nginx Web 服务器与 FPM,则您可以编辑 php-fpm 的配置文件(通常为 php-fpm.conf 或 php-fpm.d/www.conf)以更改 FPM 的设置。

结论

通过检查“Server API”信息和响应标题,您可以轻松确定您的服务器使用 CGI、FCGI 还是 FPM。 选择正确的选项取决于您的设置和运行 PHP 的方式。 无论您使用哪个选项,都可以获得快速可靠的 PHP 运行环境。