заставить Gii работать на Yii 2.0

я загрузил расширенный шаблон, распаковал его и изменил корневые документы для серверной и внешней части, но я не могу понять, как заставить Gii работать для выполнения грубых операций.

в composer.JSON есть поле require и require-dev. Я включил gii в оба из них и в каждый по отдельности, но безуспешно.

Я также пытался получить шаблон через композитор, и во время установки я увидел, что gii установлен, но все равно не смог заставить его работать.

здесь я получил свой шаблон Yii: https://github.com/yiisoft/yii2-app-advanced


person tareq    schedule 16.04.2014    source источник
comment
а как вы называете гии? он должен работать по умолчанию.   -  person Alex    schedule 16.04.2014
comment
Вы решили это? У меня точно такая же проблема. Единственная разница в том, что я установил все через composer.   -  person synapze    schedule 15.05.2014
comment
@synapze да, я сделал, извините, я не дал ответа. у меня были эти 'modules' =› ['gii' =› 'yii\gii\Module'], отсутствующие в моем бэкэнде/config/main.php. мой проект находится в бэкенде, если ваш находится где-то еще, укажите это соответственно.   -  person tareq    schedule 15.05.2014
comment
Какую ошибку вы получаете? Можешь открыть гии? Является ли генератор CRUD единственным, что не работает? Вы обращаетесь к нему с локального хоста?   -  person schmunk    schedule 21.05.2014


Ответы (5)


Вот как заставить Gii работать с удаленного сервера для шаблона расширенной настройки.

В конфигурационном файле фронтенда. Например:

/frontend/config/main-local.php

Добавьте следующий код:

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii']=[
      'class' =>  'yii\gii\Module',
      'allowedIPs' => ['*'],
    ];
}

Интересной частью является Gii array, который был модифицирован.

person girish    schedule 11.11.2014
comment
я сделал это, но я продолжаю получать Invalid Configuration – yii\base\InvalidConfigException The configuration for the "bootstrap" component must contain a "class" element. - person shorif2000; 25.03.2015
comment
@bonez Можете ли вы вставить свой файл конфигурации? - person girish; 25.03.2015

Шаг 1. Добавьте следующую строку в файл required-dev из composer.json.

"yiisoft/yii2-gii": "*"

Шаг 2: Обновите файл composer. Шаг 3: Добавьте следующую строку в ваш файл frontend/config/main.php. Не включайте эти ..........

  'modules' => [
    ............
    'gii' => [
      'class' => 'yii\gii\Module', //adding gii module
      'allowedIPs' => ['127.0.0.1', '::1']  //allowing ip's 
    ],
    ...........
  ]

Шаг 4: Если вы включили чистый URL, перейдите к

project_name/frontend/web/gii

если нет то иди в

project_name/frontend/web/index.php?r=gii

Вы можете перейти по ссылке yii2_gii

person Kshitiz    schedule 10.06.2014
comment
я сделал это, но я продолжаю получать Invalid Configuration – yii\base\InvalidConfigException The configuration for the "modules" component must contain a "class" element. - person shorif2000; 25.03.2015
comment
Когда вы создали свое приложение до или после выпуска yii2? - person Kshitiz; 26.03.2015

Как описано в Документах, вы должны настроить разрешенные IP-адреса в /frontend/config/main-local.php:

    if (!YII_ENV_TEST) {
      ...
      $config['bootstrap'][] = 'gii';
      $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
        'allowedIPs' => ['127.0.0.1', '::1', '192.168.*.*']
      ];
    }

Если вы изменили свой /frontend/config/main.php таким образом, чтобы получить красивые URL-адреса:

    return [
    ...
    'components' => [
      ...
      'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true,
            'showScriptName' => false
      ],
      ...
    ];

Вы можете вызвать gii с помощью URL

    yourVM.local/gii

(Если yourVM.local указывает на ваш внешний модуль в вашем файле Hosts.)

person Mischa    schedule 13.03.2015

Кроме того, попробуйте это, если gii все еще не работает:

Это должно быть хорошо задокументировано командой yii!

После того, как я использовал команду init, в /frontend/config/main-local.php я обнаружил:

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = 'yii\gii\Module';
}

Мое приложение находится в режиме dev, и объявление выше останавливает работу моего gii, поэтому... прокомментируйте эту строку

person Ionut Flavius Pogacian    schedule 07.11.2014

Мне пришлось закомментировать элемент urlManager (отключив красивые URL-адреса) в «компонентах» в соответствующем файле конфигурации (фактически закомментирован по умолчанию).

backend/config/main.php

Прежде чем отключить красивые URL-адреса, я мог загрузить страницу Gii, но при попытке загрузить любую из страниц генератора (контроллер, модель и т. д.) меня перенаправили на домашнюю страницу.

person Brent Self    schedule 22.07.2017