邮箱扩展名yii错误

时间:2013-02-25 20:36:37

标签: php email yii

尝试安装邮箱yii扩展,按照安装说明操作,但收到错误。不知道如何解决。这是指向http://www.yiiframework.com/extension/mailbox/

的链接

这是错误跟踪:

Alias "mailbox.MailboxModule" is invalid. Make sure it points to an existing PHP file and the file is readable.

Z:\home\localhost\www\Kare2Match\framework\YiiBase.php(316)

304         if($isClass && (class_exists($className,false) || interface_exists($className,false)))
305             return self::$_imports[$alias]=$className;
306 
307         if(($path=self::getPathOfAlias($alias))!==false)
308         {
309             if($isClass)
310             {
311                 if($forceInclude)
312                 {
313                     if(is_file($path.'.php'))
314                         require($path.'.php');
315                     else
316                         throw new CException(Yii::t('yii','Alias "{alias}" is invalid. Make sure it points to an existing PHP file and the file is readable.',array('{alias}'=>$alias)));
317                     self::$_imports[$alias]=$className;
318                 }
319                 else
320                     self::$classMap[$className]=$path.'.php';
321                 return $className;
322             }
323             else  // a directory
324             {
325                 if(self::$_includePaths===null)
326                 {
327                     self::$_includePaths=array_unique(explode(PATH_SEPARATOR,get_include_path()));
328                     if(($pos=array_search('.',self::$_includePaths,true))!==false)

+  Z:\home\localhost\www\Kare2Match\framework\YiiBase.php(196): YiiBase::import("mailbox.MailboxModule", true)

+  Z:\home\localhost\www\Kare2Match\framework\base\CModule.php(282): YiiBase::createComponent("mailbox.MailboxModule", "mailbox", null, array("userClass" => "PersonAbstract", "userIdColumn" => "k2m_internal_id", "usernameColumn" => "nickname"))

+  Z:\home\localhost\www\Kare2Match\framework\web\CWebApplication.php(337): CModule->getModule("mailbox")

+  Z:\home\localhost\www\Kare2Match\framework\web\CWebApplication.php(276): CWebApplication->createController("mailbox")

+  Z:\home\localhost\www\Kare2Match\framework\web\CWebApplication.php(141): CWebApplication->runController("mailbox")

需要帮助。

3 个答案:

答案 0 :(得分:0)

这很难提供帮助,因为解决方案实际上是在输出中提供的:“确保它指向现有的PHP文件并且文件是可读的。”

所以首先检查它的位置是别名“mailbox.MailboxModule”,它指向哪里?是现有的PHP文件吗?如果是,那么文件的权限是否允许Web服务器读取它?

要查找别名,请尝试通过代码进行文本搜索。要查找文件的权限,请进入终端并执行ls /path/to/theFile.php(在Mac或Linux上... Windows,我不知道)如果您正在通过FTP工作,您通常可以右键单击文件并获取上下文菜单以查找有关文件权限的更多信息。

了解文件权限read this.

答案 1 :(得分:0)

嘿,只需添加'课程'物业到模块'邮箱'在/protected/config/main.php中,如下所示:

'modules' => array(

   'mailbox'=>
    array(
            'class' => 'application.extensions.mailbox.MailboxModule',
            ..............
            ..............
            'userClass' => 'User',
            'userIdColumn' => 'id',
            'usernameColumn' =>  'username',  

    ); 

如果您觉得这个答案很有帮助,请为其他人投票,以便轻松搞定。

答案 2 :(得分:0)

这是另一种解决方案:

我认为,您已将“邮箱”扩展名放在/ protected / extensions /中。请将'mailbox'扩展名放在'/ protected / modules'中。它解决了你的问题。