Yii DB分析

时间:2014-11-15 17:36:12

标签: php mysql yii

我正在尝试在Yii中设置数据库分析,因为我们在处理大量数据时遇到了一些问题。我正在使用这些说明进行设置:Yii 1.1: Configuring CWebLogRoute for DB profiling

这是我的代码的样子

的index.php

defined('YII_DEBUG') or define('YII_DEBUG',true );
//show profiler
defined('YII_DEBUG_SHOW_PROFILER') or define('YII_DEBUG_SHOW_PROFILER',true);
//enable profiling
defined('YII_DEBUG_PROFILING') or define('YII_DEBUG_PROFILING',true);
//trace level
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',0);
//execution time
defined('YII_DEBUG_DISPLAY_TIME') or define('YII_DEBUG_DISPLAY_TIME',false);

配置/ main.php

'db'=>array(
        'connectionString' => 'mysql:host=******;dbname=******',
        'emulatePrepare' => true,
        'username' => '******',
        'password' => '******',
        'charset' => 'utf8',
        'enableProfiling' => YII_DEBUG_PROFILING,
    ),
    'authManager'=>array(
        'class'=>'DbAuthManager',
        'connectionID'=>'db',
        'defaultRoles'=>array('guest')
    ),
    'errorHandler'=>array(
        'errorAction'=>$errorHandler,

    ),
    'log'=>array(
        'class'=>'CLogRouter',
        'routes'=>array(
            array(
                'class'=>'CFileLogRoute',
                'enabled' =>YII_DEBUG_SHOW_PROFILER,
                'levels'=>'error, warning',
            ),
        ),
    ),

在我完全设置之后,我在config / main.php文件中使用的常量得到了两个“Undefined Constant”错误。

由于那不起作用,我尝试将它们硬编码为TRUE,错误消失了,但没有任何反应。当我尝试CWebLogRoute时,我在屏幕上看不到任何内容,当我尝试CFileLogRoute时,我没有看到任何写入Yii日志的内容。

为什么这不能按预期工作的任何想法?或者我只是缺少输出的位置?

提前感谢您的帮助!

Yii版本:1.1.13
PHP:5.5.3
阿帕奇
MySQL的

1 个答案:

答案 0 :(得分:1)

您需要指明如下所示登录DB

'log'=>array(
    'class'=>'CLogRouter',
    'routes'=>array(
        array(
            'class'=>'CWebLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
    ),
), 

您还需要删除'levels'=>'error, warning',行,该行仅记录errorswarnings

您也可以同时拥有CFileLogRouteCWebLogRoute

'log'=>array(
    'class'=>'CLogRouter',
    'routes'=>array(
        array(
            'class'=>'CWebLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
        array(
            'class'=>'CFileLogRoute',
            'enabled' =>TRUE,
            'categories' => 'system.db.*',
        ),
    ),
),