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