如何在本地主机上安装 Magento 2

已发表: 2021-04-12

目录

2021 年 4 月 13 日更新:用户在尝试安装 Magento 2.4.2 时可能会遇到404 Not Found错误。 遵循文章中建议的解决方案以获得最佳结果。

Magento 推出 2.0 版本已经有很长一段时间了。 随着更友好的用户界面和改进的性能,许多现有的 Magento 1 用户很可能迟早会迁移到 Magento 2。 顺应潮流,SimiCart 也在 2016 年 12 月发布了 Magento 2 移动应用。

今天,我们将向您展示如何使用 XAMPP 服务器在 Windows 上本地安装 Magento 2.4。 本教程面向当前 Magento 2 用户以及完全不熟悉 Magento 的用户。 现在,让我们开始吧!

第 1 部分:安装和配置 XAMPP

第 1 步:下载 XAMPP

下载链接: https ://www.apachefriends.org/download.html

我们建议使用 PHP 版本 7.4.x 安装 XAMPP,这是 Magento 为 M2.4 推荐的。 同样根据 Magento,您可以使用 PHP 7.3 安装 Magento 2.4,但未测试或推荐。

第 2 步:安装 XAMPP

下载 XAMPP 后,双击该文件将其安装到您的计算机上。

单击下一步

xampp 设置步骤 1

保留图像中的默认选择。 单击下一步

xampp 设置步骤 2

选择您的安装文件夹。 默认位置是C:\xampp 。 之后,单击Next

xampp 设置步骤 3

单击下一步

xampp 设置步骤 4

单击下一步

xampp 设置步骤 5

安装程序现在将在您的计算机上安装 xampp。 请等一会儿。

xampp安装程序安装

设置完成后,您将看到“您要立即启动控制面板吗?”选项。 保持选中状态。 单击完成退出设置并进入 XAMPP 控制面板。

xampp设置完成

第 3 步:配置 XAMPP

在 XAMPP 控制面板中,单击“Apache”行上的Config按钮,然后单击“ PHP (php.ini) ”。

配置 php.ini


php.ini文件中,找到这些行并删除; 在每一行之前:

 ;扩展=国际
;扩展=肥皂
;扩展=套接字
;扩展=钠
;扩展名=xsl

memory_limit扩展为 4G:

 memory_limit=4G

完成后,保存并关闭文件。 然后,单击 2 行 Apache 和 MySQL 上的Start按钮来启动它们。 在这一步之后不要退出 XAMPP,让它运行。

第 4 步:配置主机文件

打开C:\Windows\System32\drivers\etc\hosts 。 将以下行添加到最后一行:

 127.0.0.1 www.localhost.com

第 5 步:创建数据库

浏览 URL http://localhost/phpmyadmin/以访问 phpMyAdmin 页面。 输入数据库名称(例如“Magento2”),然后单击Create

phpmyadmin

记下您的数据库名称,因为稍后您需要在其上安装 Magento(使用root用户)。

第 2 部分:安装 Elasticsearch

从 2.4 版开始,Magento 需要 Elasticsearch 作为目录搜索引擎。

下载 Elasticsearch 7.6.0:https://www.elastic.co/downloads/past-releases/elasticsearch-7-6-0(Magento 2.4.x 仅使用 Elasticsearch 7.6.x 进行测试。您可以使用其他 7.x版本由您自行决定,但我们建议使用经过测试的 Elasticsearch 版本。)

解压您刚刚下载的 .zip 文件。 在终端窗口中, cd到解压缩的目录,然后运行以下命令:

 .\bin\elasticsearch.bat

安装完成后,您可以检查 Elasticsearch 是否正确安装在http://localhost:9200 ,这应该会为您提供如下信息:

 {
   “名称”:“Cp8oag6”,
   “cluster_name”:“弹性搜索”,
   “cluster_uuid”:“AT69_T_DTp-1qgIJlatQqA”,
   “版本” : {
     “数字”:“7.6.0”,
     “build_flavor”:“默认”,
     “build_type”:“焦油”,
     “build_hash”:“f27399d”,
     “build_date”:“2016-03-30T09:51:41.449Z”,
     “build_snapshot”:假,
     “lucene_version”:“8.7.0”,
     “minimum_wire_compatibility_version”:“1.2.3”,
     “minimum_index_compatibility_version”:“1.2.3”
   },
   “标语”:“你知道,搜索”
 }

第 3 部分:使用 Composer 下载 Magento

由于 Magento 2 中的一些插件不适用于 composer 2.x,您需要使用稳定版本的 composer 1.x 来下载 Magento。 最好的方法是安装 Composer-Setup.exe。

此设置将安装最新的 composer 版本并设置 PATH 环境变量,以便您可以方便地从任何目录调用 composer。 安装完 composer 后,需要使用composer self-update --1降级到较早的 1.x 版本,以确保最佳兼容性。

接下来, cdC:\xampp\htdocs并运行以下命令:

 composer create-project --repository-url=https://repo.magento.com/magento/project-community-edition=2.4.2 <install-directory-name>

作曲家需要一段时间才能下载并安装所有必要的模块。 一切完成后,您应该看到以下内容:

作曲家下载 Magento

第 4 部分:使用命令行安装 Magento

从 Magento 2.4 开始,命令行界面是 Magento 的默认(也是唯一)安装方法。

在 Magento 2.4 安装过程中,您可能会遇到一些错误。 为防止此类错误,您首先需要对 Magento 文件进行一些调整。

为防止此错误:

gd2错误

\vendor\magento\framework\Image\Adapter\Gd2.php中找到validateURLScheme函数并将其替换为:

 私有函数 validateURLScheme(string $filename) : bool
   {
       $allowed_schemes = ['ftp', 'ftps', 'http', 'https'];
       $url = parse_url($filename);
       if ($url && isset($url['scheme']) && !in_array($url['scheme'], $allowed_schemes) && !file_exists($filename)) {
           返回假;
       }
       返回真;
 }

接下来, cd到您的 Magento 目录并运行以下命令:

 php bin/magento setup:install --base-url=http://localhost/magento24/ --db-host=localhost --db-name=yourdbname --db-user=yourdbuser --db-password=yourdbpassword - -admin-firstname=admin --admin-lastname=admin [email protected] --admin-user=admin --admin-password=admin123 --language=en_US --currency=USD -- timezone=美国/芝加哥 --use-rewrites=1 --backend-frontname=admin --search-engine=elasticsearch7 --elasticsearch-host=localhost --elasticsearch-port=9200 

说明

  • base-url :您的 Magento 目录所在的路径,格式如下:http[s]://<host or ip>/<your Magento install dir>/
  • db-host :主机的主机名或 IP 地址
  • db-name :将其更改为您刚刚创建的 Magento 数据库的名称
  • db-user :具有完全权限的数据库用户。 我们将使用默认的 root 用户。
  • db-password :数据库用户的密码。 如果您使用的是“root”数据库用户,请将其留空
  • admin-firstname : 你的名字
  • admin-lastname : 你的姓氏
  • admin-email : 您的电子邮件地址
  • admin-user :您将用于登录管理面板的用户名
  • admin-password :您将用于登录管理面板的密码
  • language :您将在管理面板和店面中使用的语言。 使用en_US类的语言代码。
  • admin-email :将其更改为您的电子邮件
  • currency :设置在您的店面中使用的默认货币。输入php bin/magento info:currency:list以获得支持的货币列表及其代码
  • timezone :更改为您所在的时区。请参阅支持的时区列表以更好地了解要填写的内容。
  • url-rewrites :设置为 1 以启用 Web 服务器重写。 这将有助于您的网站排名。
  • backend-frontname :设置您的管理员 URL。 省略此参数将导致为您的 Magento Admin 路径随机生成 URL(例如,admin_jkhgdfq)
  • search-engine :设置要用于此 Magento 安装的 Elasticsearch 版本。 默认为elasticsearch7
  • elasticsearch-host :运行 Elasticsearch 的主机名或 IP 地址。 默认是本地主机
  • elasticsearch-port Elasticsearch 正在监听的端口号。 默认值为 9200

有关更多可配置选项,请参阅 Magento 的官方指南。

成功安装后,您将看到以下消息:

 安装后文件权限检查...
 为了安全起见,请从以下目录中删除写权限:'C:/xampp/htdocs/magento24/app/etc'
 [进度:1270 / 1270]
 [SUCCESS]:Magento 安装完成。
 [成功]:管理面板 URI:/admin
没有什么可导入的。

在此之后,我们必须进行一些额外的调整以使 Magento 与 Windows 一起工作,如下所示:

app\etc\di.xml中,将Symlink替换为Copy

 <virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
    <参数>
        <argument name="strategiesList" xsi:type="array">
            <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
            <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
        </参数>
    </参数>
</virtualType>

vendor\magento\framework\View\Element\Template\File\Validator.php中,将第 138 行替换为:

 $realPath = str_replace('\\', '/',$this->fileDriver->getRealPath($path));

最后,运行这些命令:

 php bin/magento 索引器:重新索引
php bin/magento 设置:升级
php bin/magento 设置:静态内容:部署 -f
php bin/magento 缓存:刷新

Magento 2.4.2 及更高版本的额外调整

从 Magento 2.4.2 开始,现在必须从/pub/文件夹中提供内容以确保更好的安全性。 这就是为什么需要进行额外调整才能使您的 Magento 2.4.2 版本正常工作的原因。

第 1 步:将index.php.htaccess文件从/pub/复制到您的根文件夹。

第 2 步:在index.php中找到以下行(在根文件夹中):

 需要 __DIR__ 。 '/../app/bootstrap.php';

并将其替换为

 需要 __DIR__ 。 '/app/bootstrap.php';

第 3 步:转到您最近创建的 Magento 2 数据库(在http://localhost/phpmyadmin中)并使用以下 SQL 查询找到表core_config_data

 选择 * 从 core_config_data

在此表中,您需要将这些行插入:

小路价值
网络/安全/base_static_url http://localhost/magento24/pub/static/
网络/不安全/base_static_url http://localhost/magento24/pub/static/
网络/安全/base_media_url http://localhost/magento24/pub/media/
网络/不安全/base_media_url http://localhost/magento24/pub/media/
magento24替换为您的 Magento 安装目录
  • 手动插入行:
插入新表数据库
本地主机数据库新行路径和值
  • 使用 SQL 查询插入行:
 INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_static_url', 'http://localhost/magento24/pub/static/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/secure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());
INSERT INTO `core_config_data` (`config_id`, `scope`, `scope_id`, `path`, `value`, `updated_at`) VALUES (NULL, 'default', '0', 'web/unsecure/base_media_url', 'http://localhost/magento24/pub/media/', current_timestamp());

您新添加的行应如下所示:

现在使用以下命令清除缓存:

 php bin/magento 缓存:刷新

并刷新您的前端。 通过配置base-url访问前端时,您现在应该能够看到这样的空白页面:

没有样本数据的 Magento 2

现在您可以使用您配置base-url访问您的 Magento 前端。 例如,安装 Magento 2.4.2 后,我们可以在http://localhost/magento24/访问我们的新 Magento 站点,在http://localhost/magento24/admin访问我们的后端。

*注意:如果您在尝试登录 Magento 管理员帐户时遇到此错误:“您需要配置两因素授权……”

Magento 后端两因素身份验证错误

尝试运行以下命令:

 php bin/magento 模块:禁用 Magento_TwoFactorAuth

第 5 部分:导入示例数据(可选)

运行此命令以导入示例数据:

 php bin/magento 示例数据:部署

出现提示时,输入您的 Magento 身份验证密钥。 公钥和私钥在您的 Magento Marketplace 帐户中创建和配置。

Magento 访问密钥

导入数据完成后,运行:

 php bin/magento 设置:升级
php bin/magento 设置:静态内容:部署 -f
php bin/magento 缓存:干净

现在,刷新前端,您应该能够看到带有 Luma 主题和示例数据的默认 Magento 存储。

Magento 2 Luma 主题

而已! 您已完成在本地主机上安装 Magento 2。 现在您可以访问您的 Magento 2 前端/后端并开始探索 Magento 2 功能。 我们希望这篇文章对您有所帮助!


延伸阅读

2022 年 10 个最佳免费 Magento 2 主题和模板
2022 年 10 个最佳免费 Magento 2 主题和模板
佩里 2022 年 1 月 3 日 8 分钟阅读
12 家最佳 Magento 2 托管服务提供商
12 家最佳 Magento 2 托管服务提供商
海莉阮 2021 年 6 月 4 日 9 分钟阅读
10 个最佳 Magento 2 网站
10 个最佳 Magento 2 网站
佩里 2020 年 9 月 1 日 9 分钟阅读
10 个最佳 Magento PWA 示例
10 个最佳 Magento PWA 示例
卢克武 2020 年 12 月 25 日 11 分钟阅读