Alibaba Cloud Linux 3或centos如何升级到PHP8以上

PHP技术
789
1
1
2023-01-28
标签   PHP8

PHP8.2也在去年正式发布,估计很多人都还在用PHP7.2,是时候做个升级了,毕竟Laravel9都需要PHP8来支持了。

很多用户买的aliyun服务器,因为CentOS停止维护的原因,有些用户估计切换到Alibaba Cloud Linux 3上面,其实跟CentOS差不多。

下面说说在Alibaba Cloud Linux 3上把PHP从7.4升级到8.2的过程。

1. 因为是服务器,所以要先把nginx切换到维护状态,可以参考下这篇文章:

利用nginx把整个网站设置成维护状态

2. 先停止服务上的php-fpm:

systemctl stop php-fpm

3. 移除现有的PHP

dnf remove php

4. 安装红帽的源

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
dnf install dnf-utils https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

注意需要dnf-utils,否则执行后面的命令可能会报以下错误:

模块依赖问题:
问题:conflicting requests
- nothing provides module (platform:e18) needed by module composer :2:20230124143939:00000000-0.x86_64
依赖关系解决。
无需任何处理。
完毕!

5. 执行 list命令

dnf module list php

就可以看到php的最新版本了。

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                                            Stream                                                  Profiles                                                              Summary
php                                             remi-7.2                                                common [d], devel, minimal                                            PHP scripting language
php                                             remi-7.3                                                common [d], devel, minimal                                            PHP scripting language
php                                             remi-7.4                                                common [d], devel, minimal                                            PHP scripting language
php                                             remi-8.0                                                common [d], devel, minimal                                            PHP scripting language
php                                             remi-8.1                                                common [d], devel, minimal                                            PHP scripting language
php                                             remi-8.2                                                common [d], devel, minimal                                            PHP scripting language
提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装 

6. 重置php module

dnf module reset php

7. 安装php

dnf module enable php:remi-8.2 -y

8. 安装php的扩展

dnf -y install php php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-mbstring

9. 检查看安装是否正常

php -v
#########################
PHP 8.2.1 (cli) (built: Jan 3 2023 18:40:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies
  with Zend OPcache v8.2.1, Copyright (c), by Zend Technologies

10. 修改/etc/php.ini,/etc/php-fpm.d/www.conf 若需要的,然后启动php-fpm

systemctl start php-fpm

整个升级过程就完成了,其实一点也不难,是吧。