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