gpt4 book ai didi

php - yii 切换维护模式开/关

转载 作者:行者123 更新时间:2023-12-01 01:32:50 27 4
gpt4 key购买 nike

我想在我的网站上创建一个维护模式,我想放置一个只有管理员才能看到的按钮来打开/关闭维护模式。

这允许管理员继续查看网络,但其他访问者则不能。

我读过有关 catchAllRequest 的内容,创建一个文件并在必要时重命名它,但我无法让它工作。

我试过 underconstruct 扩展,但我不知道如何打开/关闭。

这就是我目前所拥有的。

Controller :

public function actionIndex()
{
$location = Yii::app()->request->baseUrl.'/protected/config/maintenanceON.txt';
$new = Yii::app()->request->baseUrl.'/protected/config/maintenanceOFF.txt';
Yii::app()->session['secret'] = "password";
rename($location,$new);
$this->renderPartial("index");
}

CONFIG/MAIN.PHP :

'catchAllRequest'=>file_exists(
dirname(__FILE__).'/maintenanceON.txt') &&
!(isset(Yii::app()->session['secret']) && Yii::app()->session['secret']=="password") ?
array('maintenance/index') : null,

谢谢!

最佳答案

将其放入 components/Controller.php 中:

public function beforeAction() {
if(Yii::app()->params['maintenance'] == true && Yii::app()->user->id != 1) {
throw new CHttpException(404, 'Under Maintenance');
}
}

把它放在 config/main.php 中:

'params' => array(
'maintenance' => true,
),

关于php - yii 切换维护模式开/关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832437/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com