我已经调试了很长时间,但找不到任何解决方案 - 所以这是我最后的希望。
我正在尝试按照此安装指南为 Yii 安装/配置一个名为 minScript 的扩展。
我将提取的扩展放在我的扩展文件夹中,并将配置/主.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,
),
...
尽管当我尝试运行它时,我收到一条错误消息:
CException
别名"ext.minScript.components.ExtMinScript"无效。确保它指向现有的 PHP 文件,并且该文件是可读的。
该文件存在于定义的文件夹中并且是可读的,但始终显示错误消息。
有人知道我做错了什么吗?
如果您的安装是在 Linux 上,请注意文件和目录名称的拼写。我浪费了很多时间试图用视图和其他组件或扩展来解决同样的问题,
如果没有,请尝试删除:
'minScriptDebug'=>true,
从您的"组件"块。
此外,资产和受保护/运行时应该是可写的(递归)。
您的文件结构应如下所示:
protected/extensions/minScript/
components/
ExtMinScript.php
controllers/
ExtMinScriptController.php
vendors/...
minify/...
最后,也许您在网址,路由规则或.htaccess/Web服务器设置方面遇到问题。在第一种情况下,在 config/main 中.php我使用格式为 domain.com/site/parm1/parm2 的所有 url,并在路由规则解决问题之前添加它:
'urlManager'=>array(
'urlFormat'=>'path',
编辑:我忘记了这个:
"控制器映射"部分应该在config/main.php中的"组件"之后,
祝你好运!
在返回之前尝试插入(您需要声明别名ext
- 将其设置在扩展目录上):
Yii::setPathOfAlias('ext', dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'extension';