要升级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 <
更新你的环境根据创建的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 <
修改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