awebdeveloper/cakephp-maintenance-mode

CakePHP 维护模式

dev-master 2014-12-28 09:48 UTC

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 文件中。(为什么? 阅读此内容。)

[手动]

[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 
));

参数

它支持以下参数

  1. enabled 将此设置为 true 以启用它

  2. view 这是一个数组,接受模板和布局。如果缺少布局键,它将使用默认布局。

    	'view' =>	array(
    		'template' => 'Pages/index'
    	),
    

    	'view' =>	array(
     		'layout' => 'main',
    		'template' => 'MaintenanceMode/index'
    	),
    
  3. 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