要升级Magento的版本,首先需要查询magento的官方文档
Perform an Upgrade | Adobe Commerce
Complete Prerequisites | Adobe Commerce
System requirements | Adobe Commerce Developer Guide
根据系统要求,升级相关的第三方依赖项的版本。根据检查,主要需要升级PHP版本从7.2到7.4。
升级PHP的版本,参考的文档
https://www.delftstack.com/howto/php/centos-update-php
- # Update the operating system packages.
- sudo yum update -y
-
- # Check your PHP version in CentOS.
- php -v
-
- # Print list of PHP packages already installed.
- rpm -qa | grep php
- rpm -qa | grep php > php_rpm.txt
-
- # Remove PHP installed packages.
- sudo yum remove "php*" -y
-
- # Install updated remi repository.
- sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
-
- # Install yum util packages.
- sudo yum install yum-utils
-
- # Install PHP 7.4
- sudo yum install php74
-
- # Install additional packages needed by PHP 7.4
- sudo yum install php74-php-xxx
-
- # Install testing packages needed by PHP 7.4
- sudo yum --enablerepo=remi-test install php74-php-xxx
-
- # Disable PHP 7.2 and enable PHP 7.4 and insitall relevant php extensions based on Magento system requriements
- sudo yum --disablerepo=remi-php72 --enablerepo=remi-php74 install php php-pdo php-fpm php-gd php-mbstring php-mysql php-curl php-mcrypt php-json php-bcmath php-xmlwriter libicu-deve libicu-devel php-intl php-mbstring php-pear php-soap php-pecl-zip php-opcache -y
-
- # check and view the php extensions
- php -m
安装成功php后,找到php的配置文件/etc/php.ini更新php的配置memory_limit, 改成2G.
php -i|grep ini

改完后重启php-fpm和nginx
sudo systemctl restart php-fpm nginx
因为之前没有安装elasticsearch,所以我直接安装的最新的ElasticSearch 7.x。
参考的文档
https://computingforgeeks.com/how-to-install-elasticsearch-on-centos/
Install Elasticsearch with RPM | Elasticsearch Guide [8.3] | Elastic
执行以下命令安装Java。
- # install java 8
- sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装成功后设置JAVA_HOME。
- cat <<EOF | sudo tee /etc/profile.d/java8.sh
- export JAVA_HOME=/usr/lib/jvm/jre-openjdk
- export PATH=\$PATH:\$JAVA_HOME/bin
- export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar
- EOF
更新你的环境根据创建的java8.sh文件。
- # Source created file to update your environment.
- source /etc/profile.d/java8.sh
检查Java是否安装成功。

- # Download and install the public signing key
- rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
-
-
- # Create a file called elasticsearch.repo in the /etc/yum.repos.d/ directory
- cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
- [elasticsearch]
- name=Elasticsearch repository for 7.x packages
- baseurl=https://artifacts.elastic.co/packages/7.x/yum
- gpgcheck=1
- gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
- enabled=0
- autorefresh=1
- type=rpm-md
- EOF
-
-
- # install Elasticsearch
- sudo yum install --enablerepo=elasticsearch elasticsearch
-
- # start elasticsearch
- sudo systemctl start elasticsearch
-
- # enable elasticsearch service on boot
- sudo systemctl enable elasticsearch
-
- # start and enable elasticsearch service on boot
- sudo systemctl enable --now elasticsearch
-
-
- # check whether elasticsearch service is running or not
- systemctl status elasticsearch
修改elasticsearch的配置,然后重启elasticsearch
- sudo vi /etc/elasticsearch/jvm.options
-
- .....
- -Xms1g
- -Xmx1g
检查是否能连上elasticsearch。
curl http://127.0.0.1:9200
注意:如果主机要访问虚拟机里面的elasticsearch,需要更新一下elasticsearch的配置(配置文件/etc/elasticsearch/elasticsearch.yml),才能保证主机能够访问elasticsearch。


根据magento的官方文档,开始步骤执行完之后。执行命令查看是否有2.4.3-p1这个版本
- # To see the full list of available 2.4.x versions:
- composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions
(ps: 我本地有这个错误我没有管它)

执行命令升级Magento 版本(-vvv是输出详情,你也可以不加)
- composer require-commerce magento/product-community-edition 2.4.3-p1 --no-update -vvv
-
- # Or
- composer require magento/product-community-edition 2.4.3-p1 --no-update -vvv
-
-
- # Update metadata
- composer update -vvv
-
遇到了一些错误,比如像下面的一些当前的插件安装不起或者版本不符合,直接把当前安装的插件先从composer.json文件里面去掉,保证能升级到2.4.3-p1后再一个个的安装这些插件(或者升级这些插件)。
composer命令执行完后,安装文档继续执行即可。
执行composer update的时候,遇到如下的错误。我直接把vendor/phpro这个模块删掉了后再运行composer update命令就成功了。

安装成功后,检查Magento的版本。

此外访问Admin的时候,创建admin用户登录遇到如下图问题。在网上搜了一下,用最简单的办法就是把模块Magento_TwoFactorAuth禁掉。

- # For quick access, disabling the Magento TwoFactorAuth module.
- bin/magento module:disable Magento_TwoFactorAuth