Wiki

Clone wiki

yii-stuff / maintenance_mode

Как установить режим «сайт на обслуживании»

В конфигурационном файле (на первом уровне секций, среди modules, components и т. д.) пишем

/protected/config/main.php:

<?php
return array(
	// ..
	// 'modules' => array()
	// ..
	'catchAllRequest'=>file_exists(dirname(__FILE__).'/.maintenance') ? array('site/maintenance') : null,
	// ..
	// 'params'=>array()
	// ..
);
?>

Принцип работы

В папке с конфигом создается файл .maintenance (пустой). При его наличии сайт будет пытаться открыть контроллер site с экшеном maintenance. Соответственно, для экшена maintenance нужно создать вьюшку «сайт не техобслуживании». Если сайт не слишком нагружен, оверхеда файловой системе быть не должно. Для хайлоад-проектов, разумеется, решение должно быть иным (на уровне nginx, например).

Автор: pestaa

Updated