【问题标题】:How to obtain errors in YiiYii中如何获取错误
【发布时间】:2015-08-12 18:12:41
【问题描述】:

我有一个基于 Yii 的网站,我最初不知道的系统,它是从其他人那里来的,并且出现“错误 500 试图获取非对象的属性”

我阅读了大量有关在 Yii 中记录错误的文献,但似乎没有什么对我有用。这是我在 main.php 中用于记录的内容:

'log' => array(
    'class' => 'CLogRouter',
    'routes' => array(
        array(
            'class' => 'CFileLogRoute',
            'enabled' => true,
            'categories' => 'system.*',
            'levels'=>'error, warning, trace, profile, info',
            'showInFireBug' => true
        ),
    ),
),      

问题是,域托管错误日志中没有错误(虽然它一直有其他站点的错误,但有问题)。 我尝试通过 .htaccess 启用 php 错误,我尝试在 main.php 中执行此操作 - 没有任何效果。

请帮忙 - 我怎样才能更详细地查看错误并最终在 Yii 中修复它们?..

【问题讨论】:

  • 请张贴错误页面的画面

标签: php logging yii


【解决方案1】:

将此添加到您的 main.php 文件以显示错误日志。然后应用程序日志将显示在每个页面的下方。

'log' => array(
 'class' => 'CLogRouter',
 'routes' => array(
    array(
        'class' => 'CFileLogRoute',
        'levels' => 'trace, info, error, warning, 
  vardump',
     ),
    // uncomment the following to show log 
 messages on web pages
    array(
        'class' => 'CWebLogRoute',
        'enabled' => YII_DEBUG,
        'levels' => 'error, warning, trace, notice',
        'categories' => 'application',
        'showInFireBug' => false,
      ),
   ),
),

编辑:

这里你必须考虑到 Yii 是在主脚本结束后写入日志,所以如果你使用 die() 命令终止你的脚本,你永远不会让 Yii 把它写下来。为避免此类问题,您应该使用 Yii::app()->end() 命令终止脚本。

查看更多: http://www.yiiframework.com/doc/guide/1.1/en/topics.logging#message-routing

【讨论】:

  • 不幸的是这没有帮助:(
  • CWebLogRoute 类上的categories 改成'categories'=>'system.db.*' 可以试试
  • 对不起,也没有用:(
  • 我觉得我必须查看所有代码才能确定在该人完成网站后我们是否已经“死”了..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多