PHP 运行模式
在 ISPmanager 管理面板中,您可以选择以下几种 PHP 运行模式:
- Apache 模块 (mod_php)
- CGI
- FastCGI
- PHP-FPM (Nginx + PHP-FPM)
Apache 模块 (mod_php)
在使用 mod_php 模式时,PHP 代码由 Apache Web 服务器通过其内置的 PHP 模块直接处理,无需通过第三方模块或解释器。
mod_php 模式的特点
- 被认为是 Apache 环境下运行速度最快的模式之一(但性能仍低于 Nginx + PHP-FPM 模式)。
- 允许通过 .htaccess 文件修改 PHP 设置。
- 主要的 PHP 设置是全局生效的,适用于所有用户域名,且只能由管理员更改。
- 所有用户必须使用相同的 PHP 版本。
- 所有进程以 apache 用户身份运行,这使得难以识别发起进程的具体用户。
- 在处理静态文件(图片、CSS、JS)时效率较低。
如何开启 mod_php 模式
- 在“设置” — “软件配置”中选择“Web 服务器”并点击“修改”。
- 选择“Apache-MPM-ITK”或“Apache MPM-Prefork”选项。确保已启用“PHP 模块”。
- 授予用户权限。在“用户”部分选择相应用户并点击“修改”。
- 在“访问”选项卡中,勾选“可以使用 PHP 作为 Apache 模块”。
- 在创建新网站或修改现有网站时,在“附加功能”部分的“PHP 运行模式”中选择此模式。
CGI
在这种模式下,Web 服务器为每个脚本启动一个独立的 php-cgi 进程,并处理其运行结果。
CGI 的特点
- CGI 是性能最低的模式,目前已被视为过时技术。
- 可以为每个用户独立设置 PHP 配置,用户可根据需要自行调整。
- 可以为每个域名选择不同的 PHP 版本。
如何开启 CGI 模式
- 进入“设置” — “软件配置”,选择“Web 服务器”,然后点击“修改”。
- 选择“Apache-MPM-ITK”或“Apache MPM-Prefork”。
- 授予用户权限。在“用户”部分选择相应用户并点击“修改”。
- 在“访问”选项卡中,勾选“可以使用 CGI 模式的 PHP”。
- 在创建或编辑网站时,在“附加功能”的“PHP 运行模式”中选择此项。
FastCGI
FastCGI 是对 CGI 技术的改进,是一种更高效、更现代的版本。与 CGI 不同,它不会为每个脚本重新启动进程,从而显著降低了系统资源消耗。
FastCGI 的特点
- 运行速度略慢于 Apache 模块和 PHP-FPM,但远快于 CGI。
- PHP 设置可针对每个用户进行个性化配置,且用户可以自行修改。
- 可以为每个域名灵活选择所需的 PHP 版本。
- 每个请求以特定用户身份执行,某个用户的脚本错误不会影响其他用户的域名。
- 支持通过 .htaccess 文件修改参数。
如何开启 FastCGI 模式
请参考 PHP 在 FastCGI 模式下的详细配置指南。
PHP-FPM (Nginx + PHP-FPM)
这种模式下,PHP 内容由 Nginx Web 服务器的专用模块处理,完全不依赖 Apache。
PHP-FPM 模式的特点
- 性能最强:在高负载环境下,该模式的效率显著高于其他模式。
- 可以为每个用户独立配置 PHP 设置,用户可自行管理。
- 支持为每个域名单独指定 PHP 版本。
- 处理静态文件的速度极快。
- 不支持 .htaccess 文件:所有伪静态或访问控制规则必须写在 Nginx 的配置文件中。
如何开启 PHP-FPM 模式
要激活此模式,请遵循 Nginx + PHP-FPM 模式的专用配置指令。