getting Gii to work on Yii 2.0

2020-02-12 03:32发布

i downloaded the advanced template, extracted it and changed the root documents for the back-end and the front-end, but i can't seem to figure out how to get Gii working to perform the crud operations.

there is require and require-dev field in the composer.JSON i included gii in both of them and each one separately with no luck.

i also tried getting the template through composer, and while installing i saw gii as installed, but still could not get it to work.

this is where i got my Yii template: https://github.com/yiisoft/yii2-app-advanced

标签: php crud yii2 gii
5条回答
叛逆
2楼-- · 2020-02-12 03:47

Like described in the Docs you have to adjust the allowed IPs in the /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.*.*']
      ];
    }

If you have modified your /frontend/config/main.php like this for pretty URLs:

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

You can call gii with the URL

    yourVM.local/gii

(Having yourVM.local point to your Frontend Module in your Hosts file.)

查看更多
Juvenile、少年°
3楼-- · 2020-02-12 04:02

I had to comment out the urlManager element (disabling pretty Urls) in 'components' in the relevant config file (actually commented out by default).

backend/config/main.php

Before disabling pretty Urls I could load the Gii page, but when attemtping to load any of the generator pages (Controller, Model, etc.) I was redirected to the home page.

查看更多
祖国的老花朵
4楼-- · 2020-02-12 04:03

Step 1: Add Following line to required-dev of composer.json

"yiisoft/yii2-gii": "*"

Step 2: Update your composer. Step 3: Add Following line to your frontend/config/main.php file. Don't incude these ..........

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

Step 4: If you have enabled your clean url then go to

project_name/frontend/web/gii

if not then go to

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

You can follow the link yii2_gii

查看更多
姐就是有狂的资本
5楼-- · 2020-02-12 04:09

Also, try this if gii still does not work:

This should be well documented by the yii team!

After I used the init command, in /frontend/config/main-local.php, I found:

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';
}

My app is in dev mode, and te above declaration, stops my gii to work, so ... comment that line

查看更多
Bombasti
6楼-- · 2020-02-12 04:12

This is how to get Gii working from a remote server for an advanced setup template.

In the frontend config file. For example:

/frontend/config/main-local.php

Add the following code:

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' => ['*'],
    ];
}

The interesting part is the Gii array which has been modified.

查看更多
登录 后发表回答