最近在学习Drupal,但是Drupal10需要PHP8.1及以上的版本,否则无法安装。Centos Stream9默认的软件源安装的PHP版本是8.0的版本,需要升级为PHP8.2。下面对本次的升级操作方法做一个简单的记录。
1、 安装EPEL源
通过如下命令安装 epel 配置包:
dnf install -y https://mirrors.aliyun.com/epel/epel-release-latest-9.noarch.rpm
将 repo 配置中的地址替换为阿里云镜像站地址
sed -i 's|^#baseurl=https://download.example/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
注意:如果报错或修改失败的话,建议单个文件逐个修改。
2、 安装REMI源
通过命令行安装REMI配置包:
rpm -Uvh https://mirrors.aliyun.com/remi/enterprise/remi-release-9.rpm
说明:此处我们选择的事阿里云镜像的配置包,如果下载失败,可以更换为清华大学的镜像下载。https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-9.rpm
执行命令:
dnf makecache
3、 清除现在的PHP版本
通过命令查看当前PHP相关的软件包:
dnf list installed | grep php
将命令查询出来的结果单独复制,然后备份当前的php.ini和php-fpm.conf文件。两个文件的位置:
/etc/php.ini
/ect/php-fpm.d/php-fpm.conf
通过命令删除查询出的PHP软件
dnf remove -y php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php
4、 安装PHP82
通过如下命令安装PHP82:
dnf install -y php82 php82-php php82-php-cli php82-php-fpm php82-php-gd php82-php-mysqlnd php82-php-pdo php82-php-xml php82-php-opcache php82-php-pecl-apcu php82-php-pecl-memcache php82-php-pecl-redis5 php82-php-dbg php82-php-mbstring php82-php-pecl-crypto php82-php-pgsql
说明:安装的软件包可根据实际需要选择
5、 修改php.ini和php-fpm.conf文件
两个文件位置:
/etc/opt/remi/php82/php.ini
/etc/opt/remi/php82/php-fpm.ini
6、 重启服务
通过如下命令重启web服务,使新装的PHP的生效
service httpd restart
service php82-php-fpm restart
service mariadb restart
说明:
1) 数据库的服务按照实际情况调整,如mysqld
2) 必须重启web所有服务,单独重启php82-php-fpm不会生效