humanized/yii2-maintenance

为Yii2项目提供数据库驱动维护模块

dev-master 2017-01-20 14:56 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:28:30 UTC


README

一个为Yii2 Web应用提供维护模式重定向的模块

安装

使用Composer安装

安装此扩展的首选方式是通过composer

运行以下命令之一:

$ php composer.phar require humanized/yii2-maintenance "dev-master"

或者

"humanized/yii2-maintenance": "dev-master"

将以下内容添加到您的composer.json文件的require部分:

配置

先决条件

默认情况下,通过Yii::$app->errorHandler->errorAction和Yii::$app->user->loginUrl[0]设置的路线将禁用重定向

确保通过相应的组件配置参数设置适当的值。

可以通过将whitelistLoginUrl和whitelistErrorAction设置为false来启用此功能

步骤1

该模块通过在文件系统中创建/删除文件来工作。要指定其路径,将别名"@maintenance"添加到config/bootstrap文件中

Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend');
Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend');
Yii::setAlias('@maintenance', dirname(dirname(__DIR__)) . '/frontent/runtime/maintenance');

将特定的别名添加到不同的应用程序config/bootstap文件中,以便在同一个yii项目中允许不同的应用程序开启维护模式。

步骤2

该模块包含一个重定向行为,它在控制器-操作事件之前触发。当附加到控制器时,如果开启维护模式,将抛出503 - 服务不可用 - HTTP异常。

要将行为添加到要置于维护状态的应用程序的每个请求之前,请将以下行添加到配置文件中

return [
    'id' => 'application-name',
    ...
    'as beforeAction'=>[ 
      'class'=>'humanized\maintenance\components\behaviors\RedirectionBehavior',
    ]
    ...
],

有关如何配置行为的完整说明,请查看CONFIG文件。

步骤3(可选)

命令行界面

将以下行添加到控制台配置文件中,以启用CLI

'modules' => [
    'maintenance' => [
        'class' => 'humanized\maintenance\Module',
    ],
],

添加这些行允许访问模块提供的CLI。在这里,选择的模块名称是maintenance,因此各种路由将在maintenance/controller-id/action-id下可用,尽管可以选择任何模块名称。

有关如何使用此模块的命令行界面部分的完整说明,请查看CLI文件。

图形用户界面

此软件包提供了一些组件,用于构建自定义GUI解决方案

首先,在humanized\maintenance\actions中提供了各种切换维护模式的控制器操作。
然后将这些外部操作附加到

将以下行添加到Web应用程序配置文件中,以启用示例控制器

'modules' => [
    'maintenance' => [
        'class' => 'humanized\maintenance\Module',
    ],
],

添加这些行允许访问模块提供的CLI。在这里,选择的模块名称是maintenance,因此各种路由将在maintenance/controller-id/action-id下可用,尽管可以选择任何模块名称。

有关如何使用此模块的命令行界面部分的完整说明,请查看CLI文件。

重要说明

该模块与Yii2调试工具栏冲突,该工具栏在标准开发环境中默认启用。当禁用调试工具栏时,模块功能正常,即在标准生产环境中默认情况下。