Форум программистов, компьютерный форум, киберфорум
Наши страницы
Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
#1

Could not open input file: yii - Yii/Yii2

11.12.2017, 22:38. Просмотров 730. Ответов 14

https://anart.ru/yii2/2016/04/11/yii2-rbac-ponyatno-o-slozhnom.html
Сделаем первоначальную инициализацию с помощью консольного скрипта: в корне проекта по следующей вложенности создаем файл console/controllers/RbacController.php

я его создал


а потом нужно было

---Теперь выполним этот скрипт
php yii rbac/init
Если выполнилось без ошибок, то в таблицах БД вы увидите результат работы.
--------------

по директории console/controllers/RbacController.php
в папке контроллерс я открыл Теминал и дал команду php yii rbac/init

и терминал выдал --Could not open input file: yii

В чем же может быть причина--почему не может открыть ?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2017, 22:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Could not open input file: yii (Yii/Yii2):

Почему в yii может быть пустым Yii::app()->request->urlReferrer?
Добрый день, Засунул в экшн контроллера (users/registration) такую...

Как в Yii можно выполнить действие обратное Yii::app()->user->checkAccess('3')?
Руководствовался рецептом yiiframework.ru/doc/cookbook/ru/access.rbac.file ....

Could not open input file
ДОБРЫЙ ВЕЧЕР! Помогите разобраться в чем причина того, что файл с расширением...

Error LNK1181 cannot open input file 'opencv_world341.lib' в Visual Studio 2015
Добрый день. Я установил OpenCV 3.4.1 MS Visual Studio 2015 enterprise. В...

Исправить ошибку "can't open input file" (файловый ввод/вывод)
в программе прописан параметр - название текстового файла pushkin.txt...

LINK : fatal error LNK1181: cannot open input file "first.exe"
В чем ошибка??? Assembling: Go_baby.asm Microsoft (R) Incremental Linker...

14
Jewbacabra
Эксперт PHP
3093 / 2680 / 1226
Регистрация: 24.04.2014
Сообщений: 8,202
12.12.2017, 01:02 #2
Цитата Сообщение от TVPNERO Посмотреть сообщение
В чем же может быть причина--почему не может открыть ?
Код
/srv # php --help
Usage: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -S <addr>:<port> [-t docroot] [router]
php [options] -- [args...]
php [options] -a
Команда php yii rbac/init подходит по первый шаблон - php, необязательный список опций, необязательный флаг -f, имя входного файла, необязательный список аргументов.
В конкретной команде php yii rbac/init - php, входной файл yii, аргумент rbac/init.
yii - относительный путь к файлу. В текущем каталоге точно есть файл, относительный путь до которого yii?
0
FloppyDisc
Особый статус
551 / 163 / 135
Регистрация: 18.11.2015
Сообщений: 918
12.12.2017, 10:47 #3
нужно открывать в корне проекта
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
12.12.2017, 23:02  [ТС] #4
Jewbacabra, нет нужно было открывать в корневой директории

но теперь другая ошибка --Неизвестная команда--Unknown command

Добавлено через 46 секунд
FloppyDisc, но теперь другая ошибка --Неизвестная команда--Unknown command
0
FloppyDisc
Особый статус
551 / 163 / 135
Регистрация: 18.11.2015
Сообщений: 918
13.12.2017, 09:21 #5
TVPNERO, Что за команда, я так понимаю rbac/init, в console/controllers создали контроллер для инициализации Rbac и правильно прописали?

Если да то попробуйте настроить controllerNamespace в конфигах в mail-local.php. Скиньте сюда сам котроллер.
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
14.12.2017, 00:34  [ТС] #6
FloppyDisc, да при команде rbac/init возникает ошибка--Error Unknown command


Код RbacController который я создал в директории сonsole\controllers

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
/**
 * Created by PhpStorm.
 * User: oleg
 * Date: 11.12.17
 * Time: 20:48
 */
 
 
namespace console\controllers;
 
use Yii;
use yii\console\Controller;
/**
 * Инициализатор RBAC выполняется в консоли php yii rbac/init
 */
class RbacController extends Controller {
 
    public function actionInit() {
        $auth = Yii::$app->authManager;
 
        $auth->removeAll(); //На всякий случай удаляем старые данные из БД...
 
        // Создадим роли админа и редактора новостей
        $admin = $auth->createRole('admin');
        $editor = $auth->createRole('editor');
 
        // запишем их в БД
        $auth->add($admin);
        $auth->add($editor);
 
        // Создаем разрешения. Например, просмотр админки viewAdminPage и редактирование новости updateNews
        $viewAdminPage = $auth->createPermission('viewAdminPage');
        $viewAdminPage->description = 'Просмотр админки';
 
        $updateNews = $auth->createPermission('updateNews');
        $updateNews->description = 'Редактирование новости';
 
        // Запишем эти разрешения в БД
        $auth->add($viewAdminPage);
        $auth->add($updateNews);
 
        // Теперь добавим наследования. Для роли editor мы добавим разрешение updateNews,
        // а для админа добавим наследование от роли editor и еще добавим собственное разрешение viewAdminPage
 
        // Роли «Редактор новостей» присваиваем разрешение «Редактирование новости»
        $auth->addChild($editor,$updateNews);
 
        // админ наследует роль редактора новостей. Он же админ, должен уметь всё! :D
        $auth->addChild($admin, $editor);
 
        // Еще админ имеет собственное разрешение - «Просмотр админки»
        $auth->addChild($admin, $viewAdminPage);
 
        // Назначаем роль admin пользователю с ID 1
        $auth->assign($admin, 1);
 
        // Назначаем роль editor пользователю с ID 2
        $auth->assign($editor, 2);
    }
}

да то попробуйте настроить controllerNamespace в конфигах в mail-local.php. Скиньте сюда сам котроллер.----------

в конфигах main-local php по директории common/config/main-locl.php такой код



PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
            'username' => 'root',
            'password' => '1412',
            'charset' => 'utf8',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            'useFileTransport' => false,
 
            'transport' => [
                'class' => 'Swift_SmtpTransport',
                'host' => 'smtp.mailtrap.io',  // e.g. smtp.mandrillapp.com or smtp.gmail.com
                'username' => 'b6aac36ca63819',
                'password' => 'fdb78f796dbe03',
                'port' => '465', // Port 25 is a very common port too
                'encryption' => 'tls', // It is often used, check your provider or mail server specs
            ],
 
 
 
 
 
            ],
    ],
];




если имееться ввиду конфиг с директории console/config/main-local.php то там нету ничего кроме


PHP
1
2
3
4
<?php
return [
 
];
0
Миниатюры
Could not open input file: yii   Could not open input file: yii  
FloppyDisc
Особый статус
551 / 163 / 135
Регистрация: 18.11.2015
Сообщений: 918
14.12.2017, 10:11 #7
console/config/main.php примерно следующее содержимое?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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',
    'components' => [
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'authManager' => [
            'class' => 'yii\rbac\DbManager',
        ],
    ],
    'params' => $params,
];
Добавлено через 2 минуты
в самом yii.php должно быть обязательно следующее(фрагмент):
PHP
1
2
3
4
$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/console/config/main.php'),
    require(__DIR__ . '/console/config/main-local.php')
);
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
14.12.2017, 18:43  [ТС] #8
FloppyDisc,

console/config/main.php следующее содержимое


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?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'],
                ],
            ],
        ],
 
 
 
 
 
    ],
 
 
 
    'modules' => [
 
//    'rbac' => 'dektrium\rbac\RbacConsoleModule',
 
],
 
 
 
 
 
 
    'params' => $params,
];
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
14.12.2017, 19:06  [ТС] #9
FloppyDisc, теперь к console/config/main.php добавил


PHP
1
2
3
4
  
 
'authManager' => [
            'class' => 'yii\rbac\DbManager',


теперь console/config/main.php такой


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?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'],
                ],
            ],
        ],
 
 
        'authManager' => [
            'class' => 'yii\rbac\DbManager',],
 
 
 
    ],
 
 
 
 
 
 
    'modules' => [
 
//    'rbac' => 'dektrium\rbac\RbacConsoleModule',
 
],
 
 
 
 
    'params' => $params,
 
];



А файл yii имеет такой вид


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env php
<?php
/**
 * Yii console bootstrap file.
 *
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */
 
defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'prod');
 
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/common/config/bootstrap.php';
require __DIR__ . '/console/config/bootstrap.php';
 
$config = yii\helpers\ArrayHelper::merge(
    require __DIR__ . '/common/config/main.php',
    require __DIR__ . '/common/config/main-local.php',
    require __DIR__ . '/console/config/main.php',
    require __DIR__ . '/console/config/main-local.php'
);
 
$application = new yii\console\Application($config);
$exitCode = $application->run();
exit($exitCode);



Но все равно безрезультатно.Скрин прилагаю
0
Миниатюры
Could not open input file: yii  
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
14.12.2017, 19:15  [ТС] #10
FloppyDisc, Я раскоментировал в console/congig/main.php следующее

PHP
1
2
3
4
5
    'modules' => [
 
   'rbac' => 'dektrium\rbac\RbacConsoleModule',
 
],

И теперь другая ошибка в терминале-- Error: You have wrong authManager configuration

Добавлено через 2 минуты
Jewbacabra, FloppyDisc, Я раскоментировал в console/congig/main.php следующее


PHP
1
2
3
4
5
   'modules' => [
 
   'rbac' => 'dektrium\rbac\RbacConsoleModule',
 
],

И теперь другая ошибка в терминале-- Error: You have wrong authManager configuration
0
FloppyDisc
Особый статус
551 / 163 / 135
Регистрация: 18.11.2015
Сообщений: 918
14.12.2017, 19:33 #11
TVPNERO,
PHP
1
2
3
'authManager' => [
        'class' => 'dektrium\rbac\components\DbManager',
    ],
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
14.12.2017, 21:23  [ТС] #12
FloppyDisc, Cснова пишет --Неизвестная команда


Хотя я и вставил в console/config/main.php


PHP
1
2
3
      'authManager' => [
            'class' => 'dektrium\rbac\components\DbManager',
        ],




PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?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'],
                ],
            ],
        ],
 
 
        'authManager' => [
            'class' => 'dektrium\rbac\components\DbManager',
        ],
 
 
 
 
    ],
 
 
 
 
 
 
    'modules' => [
 
   'rbac' => 'dektrium\rbac\RbacConsoleModule',
 
    ],
 
 
 
 
    'params' => $params,
 
];
Добавлено через 12 минут
FloppyDisc, а теперь ошибка Error: Setting read-only property: yii\console\Application::authManager


а в сommon/config/main.php


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
return [
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
    'components' => [
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
 
 
 
 
 
 
    ],
 
 
 
 
    'authManager' => [
        'class' => 'dektrium\rbac\components\DbManager',
    ],
 
 
 
 
 
 
    'modules' => [
        'user' => [
            'class' => 'dektrium\user\Module',
            // you will configure your module inside this file
            // or if need different configuration for frontend and backend you may
            // configure in needed configs
 
 
 
        ],
 
        'rbac' => 'dektrium\rbac\RbacWebModule',
 
    ],
 
 
 
];


а вообще во всех main.php


'authManager' => [
'class' => 'dektrium\rbac\components\DbManager',
],

должен быть в массиве components или вне его ?


Добавлено через 11 минут
FloppyDisc, так выглядит common/config/main.php



PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
return [
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
    'components' => [
        'cache' => [
            'class' => 'yii\caching\FileCache',
        ],
 
 
 
        'authManager' => [
            'class' => 'dektrium\rbac\components\DbManager',
        ],
 
 
 
 
    ],
 
 
 
 
 
 
 
 
 
    'modules' => [
        'user' => [
            'class' => 'dektrium\user\Module',
            // you will configure your module inside this file
            // or if need different configuration for frontend and backend you may
            // configure in needed configs
 
 
 
        ],
 
        'rbac' => 'dektrium\rbac\RbacWebModule',
 
    ],
 
 
 
];
0
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
16.12.2017, 14:15  [ТС] #13
FloppyDisc, если что то я отсюда Рбак устанавливал


https://github.com/dektrium/yii2-rbac
0
SheFillkO
8 / 8 / 5
Регистрация: 07.06.2014
Сообщений: 51
21.12.2017, 12:00 #14
Лучший ответ Сообщение было отмечено TVPNERO как решение

Решение

пройдись еще раз по инструкции:
вот нормально выложили информацию http://yii.internetsite.com.ua/blog/rbac
и вот еще видос, тут все вообще пошагово можно повторять за автором https://www.youtube.com/watch?v=kXhzSN_InV0

я следую этим двум источникам, нормально поставил себе rbac
1
TVPNERO
9 / 8 / 12
Регистрация: 29.03.2016
Сообщений: 1,031
25.12.2017, 21:29  [ТС] #15
там я просто не ту инструкцию использовал-- для стандартного рбака.
0
25.12.2017, 21:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2017, 21:29
Привет! Вот еще темы с решениями:

Ошибка fatal error C1083: Cannot open include file: ***: No such file or directory
Помогите пожалуйста исправить ошибку. При компиляции возникает вот такая беда....

Warning: require(/path/to/file..): failed to open stream: No such file or directory
Установил шаблон на joomla 3 и увидел сию ошибку -&gt; Warning:...

fatal error C1083: Cannot open include file: 'Date.h': No such file or directory
Всем добрый вечер! У меня проблема. Мне нужно, чтобы мой класс содержал обьект...

fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
Почему Visul C++ 2005 Express Editional ругается на # include &lt;windows.h&gt;,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru