我有一个重新启动生产Web服务器并希望限制计划中断期间的更新。在此期间,用户仍然可以查看数据。
是否有一种简单的方法可以告诉Cake锁定更新页面?
我以为我可以在配置文件中添加一个全局变量,所有更新页面都会检查。如果已设置,则会禁用该页面。
也许可以在控制器中完成。如果您转到添加/编辑/删除页面,请设置Flash消息并重定向到索引。
我正在使用MySQL,因此我可以将其设置为只读,但用户会收到错误。
答案 0 :(得分:1)
对于cakephp 1.3
core.php中
<?php
...
// Offline mode
Configure::write( 'SiteSettings.site_status', 'Online' );
Configure::write( 'SiteSettings.site_offline_url', '/offline' );
...
?>
app_controller.php
<?php
...
function beforeFilter()
{
...
// Offline mode
if( ( Configure::read( 'SiteSettings.site_status' ) == 'Offline' ) and ( $this->here != Configure::read( 'SiteSettings.site_offline_url' ) ) )
{
$this->redirect( Configure::read( 'SiteSettings.site_offline_url' ) );
}
...
}
...
?>
视图/页/ offline.php
<div>Whatever HTML you want for "offline mode"</div>