humanized / yii2-maintenance
为Yii2项目提供数据库驱动维护模块
Requires
- yiisoft/yii2: >=2.0
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调试工具栏冲突,该工具栏在标准开发环境中默认启用。当禁用调试工具栏时,模块功能正常,即在标准生产环境中默认情况下。