安装
# 安装 PHP 8.4-FPM
sudo apt install php8.4-fpm
# 查看状态(以 8.1 版本为例)
sudo systemctl status php8.1-fpm
# 设置开机自启
sudo systemctl enable php8.1-fpm
PHP-FPM配合Apache使用
#安装apache必要模块,通过proxy和proxy_fcgi模块与fpm进行通信
sudo a2enmod proxy proxy_fcgi
#编辑apache配置文件
sudo nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
# 网站根目录(根据实际情况修改)
DocumentRoot /var/www/html
# 服务器域名(可选)
ServerName your-domain.com
# 将所有 .php 文件请求转发给 PHP-FPM
<FilesMatch \.phpgt;
# 指向 PHP-FPM 的 Unix 套接字(注意版本号)
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
# 其他默认配置(日志、目录权限等)
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# 检查 Apache 配置是否有语法错误
sudo apache2ctl configtest
# 若输出 "Syntax OK",重启 Apache 使配置生效
sudo systemctl restart apache2
切换apache使用的php-fpm版本
#只需修改虚拟主机配置中的 PHP-FPM 套接字路径
sudo nano /etc/apache2/sites-available/000-default.conf
# 原配置(例如使用 PHP 8.1)
<FilesMatch \.phpgt;
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
# 修改为目标版本(例如切换到 PHP 8.2)
<FilesMatch \.phpgt;
SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost/"
</FilesMatch>
# 重启 Apache
sudo systemctl restart apache2
# 确保目标 PHP-FPM 已启动
sudo systemctl start php8.2-fpm
验证fpm和apache配置是否成功
在系统目录中增加phpinfo.php文件,内容:echo phpinfo();
页面访问phpinfo.php文件如果Server API为FPM/FastCGI则说明当前解析.php文件是通过fpm,
如果Server API为Apache 2.0 Handler则说明当前解析是通过apache模块的php进行解析
若有不理解,请留言,共同学习。