北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

详解Ubuntu安装各PHP-FPM以及切换apache实用PHP-FPM版本

安装

# 安装 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进行解析


若有不理解,请留言,共同学习。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言