我遵循了此页面https://www.yiiframework.com/wiki/646/how-to-implement-cron-in-yii-2
的编码我测试了cron但失败了
$ php yii测试/索引
异常'yii \ base \ InvalidConfigException',消息为“用户”组件的配置必须包含“类”元素。
在/var/www/yiidemo/vendor/yiisoft/yii2/di/ServiceLocator.php:205
堆栈跟踪:
#0 /var/www/yiidemo/vendor/yiisoft/yii2/di/ServiceLocator.php(261): yii\di\ServiceLocator->set('user', Array)
#1 /var/www/yiidemo/vendor/yiisoft/yii2/base/Component.php(180): yii\di\ServiceLocator->setComponents(Array)
#2 /var/www/yiidemo/vendor/yiisoft/yii2/BaseYii.php(546): yii\base\Component->__set('components', Array)
#3 /var/www/yiidemo/vendor/yiisoft/yii2/base/BaseObject.php(107): yii\BaseYii::configure(Object(yii\console\Application), Array)
#4 /var/www/yiidemo/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#5 /var/www/yiidemo/vendor/yiisoft/yii2/console/Application.php(89): yii\base\Application->__construct(Array)
#6 /var/www/yiidemo/yii(26): yii\console\Application->__construct(Array)
#7 {main}
我使用Yii2,mongdb
我的文件console / config / main.php
$params = array_merge(
require __DIR__ . '/../../common/config/params.php',
require __DIR__ . '/../../common/config/params-local.php',
require __DIR__ . '/params.php',
require __DIR__ . '/params-local.php'
);
return [
'id' => 'app-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'console\controllers',
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
'controllerMap' => [
'fixture' => [
'class' => 'yii\console\controllers\FixtureController',
'namespace' => 'common\fixtures',
],
],
'components' => [
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
]
],
'params' => $params,
];
答案 0 :(得分:0)
更新
请注意,控制台应用程序中没有会话,因此如果有会话,则无需添加 map.on('click', 'point', function(e) {
e.preventDefault();
console.log('show sidebar');
});
map.on('click', function(e) {
if (e.defaultPrevented === false) {
console.log('hide taskbar');
}
});
组件。
由于未在控制台应用程序中定义session
,因此需要user
。在网络应用中,它是默认定义的,因此只能依赖默认值来覆盖某些属性。您需要删除以下部分
class
或为用户组件添加'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
]
class
在'user' => [
'class' => 'yii\web\User',
'identityClass' => 'common\models\User',
]
和本地配置文件console/config/main.php
中。