PHP8.2也在去年正式发布,估计很多人都还在用PHP7.2,是时候做个升级了,毕竟Laravel9都需要PHP8来支持了。
很多用户买的aliyun服务器,因为CentOS停止维护的原因,有些用户估计切换到Alibaba Cloud Linux 3上面,其实跟CentOS差不多。
下面说说在Alibaba Cloud Linux 3上把PHP从7.4升级到8.2的过程。
1. 因为是服务器,所以要先把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
整个升级过程就完成了,其实一点也不难,是吧。