-1

尝试安装邮箱 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")

需要帮助。

4

3 回答 3

0

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

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

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

要了解文件权限,请阅读此内容。

于 2013-02-25T20:44:53.593 回答
0

嘿,只需将“类”属性添加到 /protected/config/main.php 中的模块“邮箱”,如下所示:

'modules' => array(

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

    ); 

如果您发现此答案有帮助,请投票给其他人以轻松获得。

于 2014-06-20T17:01:24.890 回答
0

这是另一个解决方案:

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

于 2014-06-20T17:19:54.353 回答