Class 在Yii上创建新组件时出错

Class 在Yii上创建新组件时出错,class,yii,websocket,components,Class,Yii,Websocket,Components,我正在尝试在Yii上创建一个新组件。文件名是ChatManager.php,类1(当然没有“.php”)也是如此,它扩展了CapApplicationComponent。但我有个问题。当我从终端运行它时,它会给我以下错误: Class 'CApplicationComponent' not found in /../ 因此,我在config/main.php中添加了以下内容: 'preload'=>array('log','ChatManager'), 但仍然不起作用。我认为问题在于这

我正在尝试在Yii上创建一个新组件。文件名是ChatManager.php,类1(当然没有“.php”)也是如此,它扩展了CapApplicationComponent。但我有个问题。当我从终端运行它时,它会给我以下错误:

Class 'CApplicationComponent' not found in /../
因此,我在config/main.php中添加了以下内容:

'preload'=>array('log','ChatManager'),

但仍然不起作用。我认为问题在于这个类还管理WebSocket,当我运行它时,我的应用程序没有实例化。这是真的吗?或者还有另一种问题?

当从终端或命令行运行Yii时,它使用一组不同的配置文件(默认情况下)。所以它不会使用
main.php
(除非您告诉它)。不过,对于web和控制台环境,您应该有不同的配置文件

正在使用的配置文件将在
/protected/yiic.php
或自定义控制台索引文件中定义

默认的配置文件是
console.php
,因此请查看
protected/config/console.php
,并确保您需要的设置在其中,特别是通过
import=>array(…)
部分导入任何其他类

您可能还需要在配置文件的
components=>array(…)
部分中定义组件,如下所示:

'components' => array(

    // All the existing components...

    'ChatManager' => array(
         'class' => 'application.components.ChatManager',
    ),

),