打开/关闭cakephp中特定控制器的调试模式

时间:2012-02-27 08:49:39

标签: php cakephp

我想打开cakephp中的particualr控制器的调试模式。现在我在config / core.php中这样做,它工作正常。但是在控制器中启用/禁用很容易,我们可以避免在实时站点中工作的问题,否则日志会搞砸用户

3 个答案:

答案 0 :(得分:17)

它的实际安全性至关重要,可以像在core.php中那样做任何疯狂的事情,对于所有用户前端站点,它必须始终为0。

如果您想为某些管理员后端操作启用它,您可以在最开始的操作中执行此操作

Configure::write('debug', 2);

答案 1 :(得分:4)

我在这个派对上迟到了,但以防万一其他人需要这个

$skdebug = 0;
if ($_SERVER["REMOTE_ADDR"]== '121.75.33.244') $skdebug = 2;
Configure::write('debug', $skdebug);

我在异地工作,所以我是IP上的唯一用户,当路由器决定退出时,必须不断更新IP,但这是一个很小的代价。

这意味着所有控制器的调试都已启用,但这不是问题。

答案 2 :(得分:0)

在cakephp 3.4 中适用于我。

在cakephp 3+中使用控制器顶部的以下代码:

use Cake\Core\Configure;

然后您的beforeFilter()代码应如下所示:

public function beforeFilter(\Cake\Event\Event $event){
    parent::beforeFilter($event);
    $this->loadComponent('RequestHandler'); 

    // allow the function to public access
    $this->Auth->allow(['index','logout','register','saveOrders']);

    $actions = [
       'saveOrders','save-orders',
    ];

    // change the debug mode for a particular action
    if (in_array($this->request->params['action'], $actions)) {
       Configure::write('debug', false); // off debug mode
    }
}