我正在尝试使用bootstrap extension和yii,但我一直收到标题中提到的错误,我仔细检查了我的配置文件,但我不知道我做错了什么。这是我的config/main.php
<?php
// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');
// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
'language'=>'en_us',
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'CODEPAC',
// preloading 'bootstrap,log' component
'preload'=>array('bootstrap','log',),
// autoloading model and component classes
'import'=>array(
'application.models.*',
'application.components.*',
),
'modules'=>array(
// uncomment the following to enable the Gii tool
'user'=>array(
'debug'=>false,
'userTable'=>'user',
'translationTable'=>'translation',
'mailer'=>'PHPMailer',
'facebookConfig'=>array(
'appId'=>'12345',
'secret'=>'secret',
'domain'=>'localhost',
'status'=>true,
'xfbml'=>true,
'cookie'=>true,
'lang'=>'en_US',)
),
'avatar'=>array(),
'profile' => array(
'privacySettingTable' => 'privacysetting',
'profileFieldTable' => 'profile_field',
'profileTable' => 'profile',
'profileCommentTable' => 'profile_comment',
'profileVisitTable' => 'profile_visit',
),
'role' => array(
'roleTable' => 'role',
'userRoleTable' => 'user_role',
'actionTable' => 'action',
'permissionTable' => 'permission',
),
'registration' => array(
),
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'password',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
'generatorPaths'=>array('bootstrap.gii',),
),
),
// application components
'components'=>array(
'bootstrap'=>array(
'class'=>'ext.bootstrap.components.Bootstrap',),
'session'=>array(
'sessionName'=>'SiteSession',
'class'=>'CHttpSession',
'autoStart'=>true,
),
'cache'=>array('class'=>'system.caching.CFileCache'),
'user'=>array(
'class'=>'application.modules.user.components.YumWebUser',
// enable cookie-based authentication
'allowAutoLogin'=>true,
'loginUrl'=>array('//user/user/login'),
),
// uncomment the following to enable URLs in path-format
'urlManager'=>array(
'urlFormat'=>'path',
/*'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),*/
),
/*
'db'=>array(
'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
),
// uncomment the following to use a MySQL database
*/
'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=myDb',
'emulatePrepare' => true,
'username' => 'myDbUsername',
'password' => 'myDbPassword',
'charset' => 'utf8',
'tablePrefix'=>'',
),
'errorHandler'=>array(
// use 'site/error' action to display errors
'errorAction'=>'site/error',
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
// uncomment the following to show log messages on web pages
/*
array(
'class'=>'CWebLogRoute',
),
*/
),
),
),
// application-level parameters that can be accessed
// using Yii::app()->params['paramName']
'params'=>array(
// this is used in contact page
'adminEmail'=>'example@example.com',
),
'import'=>array('application.modules.user.models.*',
'application.models.*',
'application.components.*',),
);
答案 0 :(得分:6)
Yii-Bootstrap不再预加载,因此现在必须使用路径别名。 做这个。下载最新版本的yii-bootstrap。 在main.php配置粘贴的第一行:
Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');
并像这样配置扩展名:
'components'=>array(
[...]
'bootstrap' => array(
//'class' => 'ext.bootstrap.components.Bootstrap'),
'class'=>'bootstrap.components.Bootstrap'),
你已经完成了。
有关更多参考资料,请阅读:http://www.cniska.net/yii-bootstrap/setup.html
答案 1 :(得分:2)
确保为未压缩的extensions / bootstrap分配[read]访问权限。
如果您使用的是Mac / Linux,请执行:
chmod 755 bootstrap
在Windows上,右键单击该文件夹,并为Apache的帐户分配读取权限。有时也可以为“Everyone”分配读取权限(取决于您是否关心安全性)。
答案 2 :(得分:0)
我遇到了同样的问题。我授予了扩展文件夹的完整(777)权限。
试试吧。
答案 3 :(得分:0)
我在我的生产服务器上遇到了这个问题,即使它在本地工作正常。
解决方案是为yii安装授予apache所有权:
sudo chown www-data:www-data -R /var/www/yourapp
以前的所有权是root,而apache无法看到文件