CakePHPで簡単メンテナンスモード

標準

Webアプリフレームワークの「簡単メンテナンスモード」コンテストにエントリーされる方はいらっしゃいませんか。http://d.hatena.ne.jp/tanakahisateru/20110527/1306495794 (いろんなフレームワークの性格が見えて面白いと思う)

http://twitter.com/tanakahisateru/status/74078560624721920

ということで、CakePHPの場合です。

CakePHPの場合、routes.phpで単純に、

Router::connect('/*', array('controller' => 'pages', 'action' => 'display', 'maintenance'));

とやっても、うまくいきません。

じゃあどうするのかというと。

Maintenance plugin for CakePHP

というプラグインを使うと簡単に実装できます。(公開してくださっているFusicさんに感謝!

まず、プラグインをインストール。git をつかっているなら

git submodule add -f https://github.com/fusic/maintenance.git app/plugins/maintenance

次に、app_controller.phpの$componentsを書き換えてMaintenanceコンポーネントを有効にします。

このとき、メンテナンス用画面のURLを’maintenanceUrl’で指定するのを忘れずに。
(今回は /pages/maintenance を指定しました。

メンテナンス画面もapp/views/pages/maintenance.ctpとして作っちゃいます。

メンテナンスモードにするには、app/config/bootstrap.phpに

としてフラグを立てればOKです。

で、このプラグインのすごいところは、IPによるメンテナンスON/OFFや、メンテナンスモードでも見せる部分を指定できたり、時限設定ができたりするところ。

詳しくは、プラグインのREADMEを読んでみてください。

(中の人がもっと詳細な記事書いてくれないかなー。

参考リンク:
CodeIgniterで簡単メンテナンスモード – localdisk
Pinocoで簡単メンテナンスモード – なんたらノート 第二期
Silex で簡単メンテナンスモード – ぷぎがぽぎ
symfony 1.4 で簡単メンテナンスモード – ぷぎがぽぎ

3 Comments

  1. Pingback: mod_rewrite (.htaccess) で簡単メンテナンスモード @ php-tips

  2. Pingback: Zend Frameworkで簡易メンテナンスモード |Nullyのぶろぐ

  3. Pingback: 今週の管理人ブックマーク (5/22-5/29) - Sometime PHP

コメントを残す

Page optimized by WP Minify WordPress Plugin