概观

典型的软件开发流程如下:

本地开发机器 > QA /集成服务器 > 预览服务器(可选)> 生产服务器

无论您是在编写新的Magento 2 扩展 还是为代码库做贡献,任何开发人员的第一步都是设置开发环境。本文将指导您设置和优化本地开发计算机。

本地开发机器

您可以在本地开发机器上开发和部署代码,以便针对正在运行的Magento应用程序对其进行测试。其配置应尽可能靠近生产服务器。

在开发计算机中,确保以开发人员模式运行Magento应用程序。您可以使用该命令启用此模式bin/magento deploy:mode:set developer

安装

以下是您可以在本地安装Magento 2的不同方法列表:

    • 手动安装
      如果要在满足系统要求的本地计算机上进行开发,则可以按照与在生产服务器上安装Magento相同的步骤进行操作。
    • 虚拟机(VM)安装
      在虚拟环境中安装Magento 2允许您运行Magento 2而无需安装本地LAMP堆栈。

      您可以使用VM工具(如VirtualBox)以及虚拟环境工具(如VagrantDocker)来创建可重用且可共享的Magento实例以进行开发。

      在GitHub 搜索“magento开发框”提供了为Magento开发配置的非官方虚拟机列表。

最佳配置

以下是您可以在本地开发计算机上进行的优化列表

  • Magento建议安装并使用最新支持的PHP 7 版本 以提高性能。
  • Percona替换你的MySQL数据库。
  • 确保安装并启用PHP OPcache
  • Xdebug默认是关闭的。仅在需要时启用此功能,因为它需要大量内存并降低性能。xdebug.max_nesting_level对于Magento ,配置需要设置为200或更高。您可以增加PHP可用的内存,以便在Xdebug打开时提高性能。
  • 如果需要样本数据,可以使用composer克隆存储库来安装它。
  • 要加速前端开发,请关闭CSS和JavaScript的合并
  • 确保打开缓存(这是默认行为)。通常,只 应关闭页面 缓存和块缓存以进行开发,并在测试时重新打开。
  • 应始终启用Opcache时间戳验证以进行开发。opcache on和revalidation off是不可能开发的,因为任何PHP修改都需要重置高速缓存。

Magento 最佳开发配置的更多相关文章

  1. Magento入门开发教程

    Modules->模块 Controller->控制器 Model->模型 Magento是这个星球上最强大的购物车网店平台.当然,你应该已经对此毫无疑问了.不过,你可能还不知道,M ...

  2. Magento强大的配置系统

    Magento的配置系统就像是Magento的心脏,支撑着Magento的运行.这套配置系统掌管着几乎所有"module/model/class/template/etc".它把整 ...

  3. 深入理解Magento - 第一章 - Magento强大的配置系统

    深入理解Magento 作者:Alan Storm翻译:zhlmmc 前言第一章 - Magento强大的配置系统第二章 - Magento请求分发与控制器第三章 - 布局,块和模板第四章 - 模型和 ...

  4. WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解

    上一节<WCF分布式框架基础概念>我们介绍了WCF服务的概念和通信框架模型,并给出了基于自定义托管服务的WCF程序的实现代码.考虑到WCF分布式开发项目中关于托管宿主服务配置和客户端添加引 ...

  5. API接口开发 配置、实现、测试

    Yii2 基于RESTful架构的 advanced版API接口开发 配置.实现.测试 环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到 ...

  6. 全球第一免费开源ERP Odoo Ubuntu最佳开发环境独家首发分享

    起源 近年来随着国内的互联网经济的快速腾飞,诞生了很多开源软件创造的市场价值以及企业价值神话,特别是对于企业ERP领域,一直以来都是高昂的国内外产品充实,国内的中小成长型企业越来越需要一套好看又能打, ...

  7. 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明

    第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...

  8. 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置

    第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置 设置后台某个字段的排序规则 在当前APP里的adminx.py文件里的数据表管理器里设置 order ...

  9. Ubuntu下opencv的安装及IDEA开发配置

    Ubuntu下opencv的安装及IDEA开发配置 环境配置  这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置 安装opencv 首先安装o ...

随机推荐

  1. Vue2开发大全

    参考资料: vuex element qs.js axios.js vue promise 关于ES6的Promise的使用深入理解  vue2 设置网页title的问题 Mint UI websto ...

  2. android引用arr包

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/9939494.html android中引用的包一般分为两种: 1.jar包 2.aar包 arr包其实带 ...

  3. java基础中this,super

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...

  4. office2019下载以及激活密钥(亲测可用)

    office2019激活密钥 W8W6K-3N7KK-PXB9H-8TD8W-BWTH9  或者: 链接:https://pan.baidu.com/s/1Ch0rc2ZN9I_lwmbjGESTuw ...

  5. MFC打印

    映射模式是MFC甚至SDK界面编程第1个难点.打印则是第2个难点.这2个都是历史遗留的设计缺陷.这些缺陷还不至于到bug程度,但却很难用,不易理解. MFC提供2个类来实现打印(预览),具体有CPri ...

  6. 010 Editor v8.0.1(32 - bit) 算法逆向分析、注册机编写

    010 Editor 的逆向分析整体算下来还是比较简单的,将程序拖入OD,通过字符串搜索定位到核心代码,经过分析,主要是如下图所示的两个关键函数,返回正确的值,才算是注册成功. 00409C9B 这个 ...

  7. LeetCode算法题-Design HashSet(Java实现)

    这是悦乐书的第298次更新,第317篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第166题(顺位题号是705).不使用任何内建的hash表库设计一个hash集合,应包含 ...

  8. LeetCode算法题-Array Partition I(Java实现)

    这是悦乐书的第262次更新,第275篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第129题(顺位题号是561).给定一个2n个整数的数组,你的任务是将这些整数分组为n对 ...

  9. sizeof和strlen()区别及用法

    //sizeof是以字节为单位计算变量或类型所占内存大小,它是属于C语言运算符系列:而strlen()是一个函数,是计算字符串长度(也是以字节为单位,但略有区别):比如: char array[] = ...

  10. C#基础知识之字符串比较方法:“==”操作符;RefernceEquals;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。

    一.“==”操作符:String.Equals:ReferenceEquals 方法 1.在编程中实际上我们只需要这两种比较,c#中类型也就这两种 (1)值类型的比较:一般我们就是判断两个值类型实例各 ...