You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7 Apache无法启用指定PHP版本求助

CentOS7下Apache无法加载PHP 8.1,始终使用PHP 7.2的解决方法

问题情况

  • 本地CLI执行php -v显示当前PHP版本为8.1.16,但Apache服务器始终加载PHP 7.2,此前一直使用PHP 7.4
  • 夜间更新时,仅更新了包:
    php-pear.noarch    1:1.10.13-5.el7.remi    remi-php72
    
  • 仅找到Apache加载的PHP模块为/etc/httpd/modules/librh-php72-php7.so,对应配置文件conf.modules.d/15-rh-php72-php.conf,未找到其他PHP版本的模块路径

已安装PHP相关包列表

执行sudo yum list installed | grep php输出如下:

gd3php.x86_64                         2.3.3-7.el7.remi               @remi-safe 
oniguruma5php.x86_64                  6.9.8-1.el7.remi               @remi-safe 
php.x86_64                            8.1.16-1.el7.remi              @remi-php81
php-bcmath.x86_64                     8.1.16-1.el7.remi              @remi-php81
php-cli.x86_64                        8.1.16-1.el7.remi              @remi-php81
php-common.x86_64                     8.1.16-1.el7.remi              @remi-php81
php-devel.x86_64                      8.1.16-1.el7.remi              @remi-php81
php-fedora-autoloader.noarch          1.0.1-2.el7                    @epel      
php-fpm.x86_64                        8.1.16-1.el7.remi              @remi-php81
php-gd.x86_64                         8.1.16-1.el7.remi              @remi-php81
php-gmp.x86_64                        8.1.16-1.el7.remi              @remi-php81
php-intl.x86_64                       8.1.16-1.el7.remi              @remi-php81
php-kolab-net-ldap3.noarch            1.0.7-2.el7                    @epel      
php-ldap.x86_64                       8.1.16-1.el7.remi              @remi-php81
php-mbstring.x86_64                   8.1.16-1.el7.remi              @remi-php81
php-mysqlnd.x86_64                    8.1.16-1.el7.remi              @remi-php81
php-pdo.x86_64                        8.1.16-1.el7.remi              @remi-php81
php-pear.noarch                       1:1.10.13-5.el7.remi           @remi-php72
php-pear-Auth-SASL.noarch             1.0.6-5.el7                    @epel      
php-pear-Mail-Mime.noarch             1.10.2-1.el7                   @epel      
php-pear-Net-IDNA2.noarch             0.1.1-10.el7                   @epel      
php-pear-Net-LDAP2.noarch             2.1.0-1.el7                    @epel      
php-pear-Net-SMTP.noarch              1.7.3-1.el7                    @epel      
php-pear-Net-Sieve.noarch             1.3.4-4.el7                    @epel      
php-pear-Net-Socket.noarch            1.0.14-1.el7                   @epel      
php-pecl-imagick-im6.x86_64           3.7.0-1.el7.remi.8.1           @remi-php81
php-pecl-mcrypt.x86_64                1.0.5-1.el7.remi.8.1           @remi-php81
php-pecl-zip.x86_64                   1.21.1-1.el7.remi.8.1          @remi-php81
php-process.x86_64                    8.1.16-1.el7.remi              @remi-php81
php-pspell.x86_64                     8.1.16-1.el7.remi              @remi-php81
php-sodium.x86_64                     8.1.16-1.el7.remi              @remi-php81
php-xml.x86_64                        8.1.16-1.el7.remi              @remi-php81
php72.x86_64                          2.0-1.el7.remi                 @remi-safe 
php72-php-cli.x86_64                  7.2.34-16.el7.remi             @remi-safe 
php72-php-common.x86_64               7.2.34-16.el7.remi             @remi-safe 
php72-php-fpm.x86_64                  7.2.34-16.el7.remi             @remi-safe 
php72-php-gd.x86_64                   7.2.34-16.el7.remi             @remi-safe 
php72-php-json.x86_64                 7.2.34-16.el7.remi             @remi-safe 
php72-php-mbstring.x86_64             7.2.34-16.el7.remi             @remi-safe 
php72-php-mysqlnd.x86_64              7.2.34-16.el7.remi             @remi-safe 
php72-php-opcache.x86_64              7.2.34-16.el7.remi             @remi-safe 
php72-php-pdo.x86_64                  7.2.34-16.el7.remi             @remi-safe 
php72-php-xml.x86_64                  7.2.34-16.el7.remi             @remi-safe 
php72-php-xmlrpc.x86_64               7.2.34-16.el7.remi             @remi-safe 
php72-runtime.x86_64                  2.0-1.el7.remi                 @remi-safe 
php74.x86_64                          1.0-3.el7.remi                 @remi-safe 
php74-php-cli.x86_64                  7.4.33-4.el7.remi              @remi-safe 
php74-php-common.x86_64               7.4.33-4.el7.remi              @remi-safe 
php74-php-json.x86_64                 7.4.33-4.el7.remi              @remi-safe 
php74-runtime.x86_64                  1.0-3.el7.remi                 @remi-safe 
rh-php72.x86_64                       1-2.el7                        @centos-sclo-rh
rh-php72-php.x86_64                   7.2.24-1.el7                   installed  
rh-php72-php-cli.x86_64               7.2.24-1.el7                   installed  
rh-php72-php-common.x86_64            7.2.24-1.el7                   installed  
rh-php72-php-gd.x86_64                7.2.24-1.el7                   installed  
rh-php72-php-intl.x86_64              7.2.24-1.el7                   installed  
rh-php72-php-json.x86_64              7.2.24-1.el7                   installed  
rh-php72-php-mbstring.x86_64          7.2.24-1.el7                   installed  
rh-php72-php-mysqlnd.x86_64           7.2.24-1.el7                   installed  
rh-php72-php-opcache.x86_64           7.2.24-1.el7                   installed  
rh-php72-php-pdo.x86_64               7.2.24-1.el7                   installed  
rh-php72-php-pear.noarch              1:1.10.5-1.el7                 @centos-sclo-rh
rh-php72-php-pecl-apcu.x86_64         5.1.12-1.el7                   @centos-sclo-rh
rh-php72-php-process.x86_64           7.2.24-1.el7                   installed  
rh-php72-php-xml.x86_64               7.2.24-1.el7                   installed  
rh-php72-php-zip.x86_64               7.2.24-1.el7                   installed  
rh-php72-runtime.x86_64               1-2.el7                        @centos-sclo-rh
sclo-php72-php-pecl-igbinary.x86_64   2.0.8-1.el7                    @centos-sclo-sclo
sclo-php72-php-pecl-imagick.x86_64    3.4.4-3.el7                    @centos-sclo-sclo
sclo-php72-php-pecl-redis4.x86_64     4.3.0-1.el7                    @centos-sclo-sclo

解决步骤

1. 安装PHP 8.1的Apache模块

系统中已安装PHP 8.1的CLI组件,但缺少对应的Apache模块,执行以下命令安装:

sudo yum install php81-php-apache

安装完成后,模块文件路径为/opt/remi/php81/root/usr/lib64/httpd/modules/libphp81.so。

2. 禁用PHP 7.2的Apache模块配置

将rh-php72的配置文件重命名为禁用状态:

sudo mv /etc/httpd/conf.modules.d/15-rh-php72-php.conf /etc/httpd/conf.modules.d/15-rh-php72-php.conf.disabled

3. 确认PHP 8.1的配置已启用

安装php81-php-apache后,会自动生成/etc/httpd/conf.modules.d/15-php81-php.conf配置文件,若未生成,手动创建并添加以下内容:

LoadModule php_module /opt/remi/php81/root/usr/lib64/httpd/modules/libphp81.so
<IfModule php_module>
    AddHandler php81-php .php
    <FilesMatch \.php$>
        SetHandler php81-php
    </FilesMatch>
    php_value session.save_handler "files"
    php_value session.save_path "/opt/remi/php81/root/var/lib/php/session"
</IfModule>

4. 清理冗余PHP版本(可选)

若不需要保留PHP 7.2、7.4版本,可卸载避免后续冲突:

# 卸载rh-php72及相关组件
sudo yum remove rh-php72* sclo-php72*
# 卸载remi仓库的php72组件
sudo yum remove php72*
# 卸载php74组件(按需执行)
sudo yum remove php74*

5. 重启Apache服务

sudo systemctl restart httpd

6. 验证PHP版本

在网站根目录(如/var/www/html/)创建info.php文件:

<?php phpinfo(); ?>

通过浏览器访问该文件,确认页面顶部显示的PHP版本为8.1.16。

内容的提问来源于stack exchange,提问作者Meisterzunge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 03:57:06