0

我已经调试了很长一段时间,但找不到任何解决方案 - 所以这是我最后的希望。

我正在尝试按照此 安装指南为 Yii 安装/配置一个名为 minScript 的扩展。

我将提取的扩展名放在我的扩展文件夹中,并将 config/main.php 更改为以下内容:

return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Demo app',

'controllerMap'=>array(
    'min'=>array(
        'class'=>'ext.minScript.controllers.ExtMinScriptController',
    ),
),

...

// application components
'components'=>array(
    'clientScript'=>array(
        'class'=>'ext.minScript.components.ExtMinScript',
        'minScriptDebug'=>true,
    ),

 ...

虽然当我尝试运行它时,我收到一条错误消息:

异常

别名“ext.minScript.components.ExtMinScript”无效。确保它指向一个现有的 PHP 文件并且该文件是可读的。

该文件存在于定义的文件夹中并且是可读的,但总是出现错误消息。

有人知道我做错了什么吗?

4

2 回答 2

1

如果您的安装是在 Linux 上,请注意文件名和目录名的拼写。我浪费了很多时间试图用视图和其他组件或扩展来解决同样的问题,

如果没有,请尝试删除:

'minScriptDebug'=>true,

从您的“组件”块中。

资产和受保护/运行时也应该是可写的(递归)。

您的文件结构应如下所示:

protected/extensions/minScript/
                              components/
                                        ExtMinScript.php
                              controllers/
                                        ExtMinScriptController.php
                              vendors/...
                                        minify/...

最后,您可能在url、路由规则或 .htaccess / web 服务器设置方面遇到问题。在第一种情况下,在 config/main.php 中,我使用格式为 domain.com/site/parm1/parm2 的所有 url,并在路由规则解决问题之前添加它:

'urlManager'=>array(
   'urlFormat'=>'path',

编辑:我忘了这个:

'controllerMap' 部分应该在 config/main.php 中的 'components' 之后,

祝你好运!

于 2013-11-01T20:35:56.097 回答
0

在返回之前尝试插入(您需要声明别名ext- 在扩展目录中设置它):

Yii::setPathOfAlias('ext',
   dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'extension';
于 2013-11-01T12:32:41.787 回答