【magento2配置专题2】初始化和引导
一、初始化
bootstrapping 概述
运行magento 2, 以下代码在index.php中执行:
- 引入
<magento 2 安装目录>/app/bootstrap.php执行必要的初始化例程,如错误处理,初始化自动加载,设置配置选项,设置默认时区,等等。 - 创建一个实例 \Magento\Framework\App\Bootstrap.
- 创建一个Magento 2 的应用实例 (\Magento\Framework\AppInterface).
- 运行Magento 2
Bootstrap 运行逻辑
bootstrap 安装下面的流程运行 magento2:
- 初始化错误处理程序。
- 创建对象管理器(/Magento/Framework/ObjectManager)和基本共享服务,这些服务在任何地方都使用,并且受环境的影响。环境参数被正确地注入到这些对象。
- 判断mode是否启用
- 判断Magento2是否安装
-
启动Magento2.
任何未捕获的异常在应用程序启动后自动传回Magento 2 的
catchException()方法,catchException方法用来处理异常. 最后返回true或者false:- 如果反回
true: Magento处理异常成功。不需要做其他事情. - 如果反回
false(或任何其他结果):bootstrap 执行默认异常处理子程序.
- 如果反回
- 发送应用程序对象提供的响应。
修改 bootstrap 代码示例:
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$params = $_SERVER;
$params[Bootstrap::PARAM_REQUIRE_MAINTENANCE] = true; // default false
$params[Bootstrap::PARAM_REQUIRE_IS_INSTALLED] = false; // default true
$bootstrap = Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
二、设置引导参数
设置引导(bootstrap)参数值概述
本主题讨论如何设置Magento 2 Bootstrap参数值。
下表列出了可以设置的引导(bootstrap)参数:
| Bootstrap 参数 | 描述 |
|---|---|
| MAGE_DIRS | 指定自定义目录和URL路径 |
| MAGE_PROFILER | 启用 dependency graphs 和 HTML profiling |
- 不是所有的引导参数都记录在这里。
- 可以使用magento deploy:mode:set {mode} 命令对Magento 2 模式(mode)设置 (developer, default, production).
三、关于 Magento 2 模式(modes)
Magento 2 模式介绍
你可以运行Magento下列 modes:
| Mode 名称 | 描述 |
|---|---|
| default(默认) |
不改变magento 2 的任何设置,默认设置对优化不够好。 Magento 2应用部署多个服务器可以得到优化。
|
| Developer(开发模式) |
这个 mode 仅用于开发 :
|
| Production(运行环境) | 用于部署在生产系统上。异常不显示给用户,异常仅写入日志 |
四、自定义基础目录路径
设置 MAGE_DIRS
Magento/Framework/App/Filesystem/DirectoryList.php中指定一个关联数组,其中键是常量,值是目录或URL路径的绝对路径。
你可以用以下任何一种方式设置 MAGE_DIRS :
- 设置引导参数
- 使用自定义入口代码:
use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$params = $_SERVER;
$params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [
DirectoryList::CACHE => [DirectoryList::PATH => '/mnt/nfs/cache'],
DirectoryList::MEDIA => [DirectoryList::PATH => '/mnt/nfs/media', DirectoryList::URL_PATH => ''],
];
$params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [
DirectoryList::PUB => [DirectoryList::URL_PATH => ''],
DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'],
DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'],
DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'],
];
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
上面的代码分别设置了 [cache] 、 [media] 、 /mnt/nfs/cache 、 /mnt/nfs/media路径.
五、使用性能 (MAGE_PROFILER)
magento 2 使用性能(MAGE_PROFILER)介绍
-
使用内置分析器(built-in profiler).
你可以使用Magento 2 内置分析器(built-in profiler)来执行任务,如性能分析。分析的本质取决于你使用的分析工具。支持多种格式,包括HTML。)
Magento提供的基础功能 Magento\Framework\Profiler.
设置 MAGE_PROFILER
MAGE_PROFILER 支持以下值:
-
1启用特定的profiler输出.还可以使用下列方法启用特定的探查器:
firebug它使用 Magento\Framework\Profiler\Driver\Standard\Output\Firebugcsvfile它使用 Magento\Framework\Profiler\Driver\Standard\Output\Csvfile- 其他值使用 Magento\Framework\Profiler\Driver\Standard\Output\Html
-
2启用依赖图.依赖图通常显示在页面的底部。下图显示输出的一部分 :

你可以以任何的方式设置 MAGE_PROFILER 设置引导参数
更多推荐



所有评论(0)