awebdeveloper / cakephp-maintenance-mode
CakePHP 维护模式
Requires
This package is not auto-updated.
Last update: 2024-09-24 16:30:58 UTC
README
CakePHP 维护模式允许你在升级网站时将网站置于维护模式。大多数人会向服务器添加一个静态文件,并在维护期间将所有请求路由到该文件。除非添加了重写规则或表达式来排除自己,否则该文件将向所有人显示,包括你自己,这会使问题复杂化。
此过滤器文件将告诉 CakePHP 将所有请求置于维护模式,即显示消息,但允许来自你 IP 的请求正常处理。
##需求 CakePHP 2.*
安装
[使用 Composer]
在 Packagist 上查看,并将最新版本的 JSON 片段复制到您的项目的 composer.json
文件中。例如,v. 1.2.0 将如下所示
{
"require": {
"awebdeveloper/cakephp-maintenance-mode": "1.2.0"
}
}
因为此插件在其自己的 composer.json
中设置了类型 cakephp-plugin
,所以 Composer 会知道将其安装到您的 /Plugin
目录中,而不是常规的 vendor 目录中。建议您将 /Plugin/MaintenanceMode
添加到您的 .gitignore 文件中。(为什么? 阅读此内容。)
[手动]
- 下载此内容:http://github.com/awebdeveloper/cakephp-maintenance-mode/zipball/master
- 解压缩下载内容。
- 将生成的文件夹复制到
app/Plugin
- 将您刚复制的文件夹重命名为
MaintenanceMode
[GIT 子模块]
在您的 app 目录中输入
git submodule add -b master git://github.com/awebdeveloper/cakephp-maintenance-mode.git Plugin/MaintenanceMode
git submodule init
git submodule update
[GIT Clone]
在您的 Plugin
目录中输入
git clone -b master git://github.com/awebdeveloper/cakephp-maintenance-mode.git MaintenanceMode
用法
在您的 Bootstrap.php 中添加
Configure::write('MaintenanceMode', array( 'enabled' => true, 'view' => array( 'layout' => '', 'template' => 'MaintenanceMode/index' ), 'ip_filters' => array('127.0.*.*') ));
同样,在同一个文件中找到以下代码并添加此行
Configure::write('Dispatcher.filters', array( 'AssetDispatcher', 'CacheDispatcher', 'MaintenanceMode.MaintenanceMode' ## this line ));
参数
它支持以下参数
-
enabled 将此设置为 true 以启用它
-
view 这是一个数组,接受模板和布局。如果缺少布局键,它将使用默认布局。
'view' => array( 'template' => 'Pages/index' ),
或
'view' => array( 'layout' => 'main', 'template' => 'MaintenanceMode/index' ),
-
ip_filters 这是一个包含单个 IP 或包含多个 IP 的数组,对于这些 IP,维护模式将不会应用。
'ip_filters' => array('127.0.*.*','201.201.201.1')
或
'ip_filters' => '201.201.201.1'
有关信息,请参阅有关调度过滤器的文档
https://book.cakephp.com.cn/2.0/en/development/dispatch-filters.html