I am trying to install and use this robregonm / yii2-auth module in my newly installed yii2 advance app. I used composer to install it. using this command
php composer.phar require robregonm/yii2-auth "dev-master"
I have configured my web and console files accordingly. now I am trying to run migration as mentioned using
./yii migrate/up --migrationPath=@auth/migrations
And I am getting following error.
Exception 'yii\base\UnknownPropertyException' with message 'Setting unknown property: yii\db\Connection::user'
in /var/www/mycoolapp/vendor/yiisoft/yii2/base/Component.php:196
Stack trace:
#0 /var/www/mycoolapp/vendor/yiisoft/yii2/BaseYii.php(515): yii\base\Component->__set('user', Array)
#1 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Object.php(104): yii\BaseYii::configure(Object(yii\db\Connection), Array)
#2 [internal function]: yii\base\Object->__construct(Array)
#3 /var/www/mycoolapp/vendor/yiisoft/yii2/di/Container.php(365): ReflectionClass->newInstanceArgs(Array)
#4 /var/www/mycoolapp/vendor/yiisoft/yii2/di/Container.php(147): yii\di\Container->build('yii\db\Connecti...', Array, Array)
#5 /var/www/mycoolapp/vendor/yiisoft/yii2/BaseYii.php(341): yii\di\Container->get('yii\db\Connecti...', Array, Array)
#6 /var/www/mycoolapp/vendor/yiisoft/yii2/di/ServiceLocator.php(132): yii\BaseYii::createObject(Array)
#7 /var/www/mycoolapp/vendor/yiisoft/yii2/console/controllers/MigrateController.php(124): yii\di\ServiceLocator->get('db')
#8 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Controller.php(144): yii\console\controllers\MigrateController->beforeAction(Object(yii\base\InlineAction))
#9 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Controller.php(83): yii\base\Controller->runAction('up', Array)
#10 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Module.php(444): yii\console\Controller->runAction('up', Array)
#11 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Application.php(164): yii\base\Module->runAction('migrate/up', Array)
#12 /var/www/mycoolapp/vendor/yiisoft/yii2/console/Application.php(140): yii\console\Application->runAction('migrate/up', Array)
#13 /var/www/mycoolapp/vendor/yiisoft/yii2/base/Application.php(329): yii\console\Application->handleRequest(Object(yii\console\Request))
#14 /var/www/mycoolapp/yii(30): yii\base\Application->run()
#15 {main}
PHP Fatal error: Uncaught exception 'yii\base\InvalidConfigException' with message 'Unable to append to log file: /var/www/mycoolapp/console/runtime/logs/app.log' in /var/www/mycoolapp/vendor/yiisoft/yii2/log/FileTarget.php:87
Stack trace:
#0 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Target.php(103): yii\log\FileTarget->export()
#1 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Dispatcher.php(179): yii\log\Target->collect(Array, true)
#2 /var/www/mycoolapp/vendor/yiisoft/yii2/log/Logger.php(162): yii\log\Dispatcher->dispatch(Array, true)
#3 [internal function]: yii\log\Logger->flush(true)
#4 {main}
thrown in /var/www/mycoolapp/vendor/yiisoft/yii2/log/FileTarget.php on line 87
I am confused about whats missing here? I can not find auth module anywhere in app. My question is where should I clone yii2-auth in app?
It seems that you misconfigured the db
component in your config file, because, the user
param does not exist, maybe you meant username
. So the problem is not the extension itself but your local configuration setup.
Your db
component should look like this:
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:dbname=YourDbName...', // replace pgsql with your db driver
'username' => 'YourUsername',
'password' => 'YourPwd',
'enableSchemaCache' => false,
'charset' => 'utf8',
],
Hope this helps.
Change you console/config/main-local.php, replace the key preload with bootstrap.
return [
'preload' => [
//'debug',
],
'modules' => [
//'debug' => 'yii\debug\Module',
//'gii' => 'yii\gii\Module',
],
];
TO
return [
'bootstrap' => [
//'debug',
],
'modules' => [
//'debug' => 'yii\debug\Module',
//'gii' => 'yii\gii\Module',
],
];