2012-02-27 11 views
8

cakephpの特定のコントローラのデバッグモードを有効にします。今私はconfig/core.phpでこれをやっています、うまくいきます。しかしコントローラで有効/無効にするのは簡単です。ライブサイトで作業することで問題を回避することができます。そうしないとログが乱れることになります。cakephpの特定のコントローラのデバッグモードをオン/オフにします

答えて

15

core.phpのような野生すべてのユーザーのフロントエンドサイトで常に0になるようにします。

あなたには、いくつかの管理バックエンドのアクションのためにそれを有効にする場合、あなたは、アクションの内側に非常に私はこの1つ上のパーティーに遅刻

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

おかげマーク –

3

で念の誰に始まることを行うことができます他には、私は、私はIP上のユーザーだけだオフサイトに働くこの

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

を必要とし、ルータはバウンスすることを決定したが、それは支払うために小さな価格だときIPを更新し続けるために持っている痛みをすることができます。

これは、すべてのコントローラでデバッグがオンになっていることを意味しますが、それは問題ではありません。

+0

これは本当に関係ありませんもともとの質問には向いていますが、ipアドレスに基づいてデバッグのオン/オフを切り替えるのに最適です。 Thansk @SarahKing素晴らしいヒント – Joel

0

cakephpで私のために働く3.4

3+ CakePHPでは、あなたのコントローラの上で、以下のコードを使用します。

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 
    } 
} 
関連する問題