2012-09-19 2 views
2

Après http://www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold tutoriel, il mentionne d'ajouter un code à /blog/protected/config/main.phpErreur gii 404. Impossible d'utiliser Gii

return array(
    ...... 
    'import'=>array(
     'application.models.*', 
     'application.components.*', 
    ), 

    'modules'=>array(
     'gii'=>array(
      'class'=>'system.gii.GiiModule', 
      'password'=>'pick up a password here', 
     ), 
    ), 
); 

Ce sont les dernières lignes de mon code pour main.php, comme vous ? peut voir, je l'ai suivi les instructions ...

 'errorHandler'=>array(
      // use 'site/error' action to display errors 
      'errorAction'=>'site/error', 
     ), 
     'log'=>array(
      'class'=>'CLogRouter', 
      'routes'=>array(
       array(
        'class'=>'CFileLogRoute', 
        'levels'=>'error, warning', 
       ), 
       // uncomment the following to show log messages on web pages 
       /* 
       array(
        'class'=>'CWebLogRoute', 
       ), 
       */ 
      ), 
     ), 
    ), 

    // application-level parameters that can be accessed 
    // using Yii::app()->params['paramName'] 
    'params'=>array(
     // this is used in contact page 
     'adminEmail'=>'[email protected]', 
    ), 
    'import'=>array(
     'application.models.*', 
     'application.components.*', 
    ), 
    'modules'=>array(
     'gii'=>array(
      'class'=>'system.gii.GiiModule', 
      'password'=>'pick up a password here', 
     ), 
    ), 
); 

Pourtant, quand je visite index.php r = GII, je reçois l'erreur suivante:

Error 404 Unable to resolve the request "gii". 

FYI - J'utilise la version 1.1.12 qui est la dernière version stable.

MISE À JOUR

tout et j'ai supprimé commencé à nouveau, et travaille maintenant. doit avoir fait quelque chose d'idiot en-route

+0

Besoin de votre config complète. Aussi les règles de routage. –

+0

http://pastebin.com/x3zWWLtm Ce sont les règles de routage par défaut. Ceci est ma première application yii et je suis juste après le tutoriel après une nouvelle installation. http://derp.co.uk/07275 – Gravy

+0

Avez-vous un fichier .htaccess dans le dossier de votre application? –

Répondre

0

Vous avez déjà 'modules' clé du tableau de configuration à la ligne 21 ici http://pastebin.com/x3zWWLtm. Retirez la 'modules' clé que vous avez ajouté manuellement et uncomment 'gii' dans celui à la ligne 21:

<?php 

// uncomment the following to define a path alias 
// Yii::setPathOfAlias('local','path/to/local-folder'); 

// This is the main Web application configuration. Any writable 
// CWebApplication properties can be configured here. 
return array(
     // ... 

     'modules'=>array(
       // uncomment the following to enable the Gii tool 
       /* 
       'gii'=>array(
         'class'=>'system.gii.GiiModule', 
         'password'=>'Enter Your Password Here', 
         // If removed, Gii defaults to localhost only. Edit carefully to taste. 
         'ipFilters'=>array('127.0.0.1','::1'), 
       ), 
       */ 
     ), 
     // ... 
    ); 

Je viens de télécharger le dernier yu et créé une application Web:

[email protected]:~/public_html/localhost/yii$ php framework/yiic webapp ../yiiapp 

Puis décommentée la lignes de gii module compris dans la config comme je l'ai mentionné et il fonctionne parfaitement: http://localhost/yiiapp/index.php?r=gii

+0

J'ai déjà essayé ... Ça n'a pas marché. C'est pourquoi je l'ai encore commenté et j'ai essayé de l'ajouter à la fin ... juste au cas où. – Gravy

+0

Cela devrait fonctionner de cette manière. –

+0

config.php ne devrait avoir qu'un seul tableau de modules sinon il sera surchargé par le dernier tableau. Le même problème s'est produit pour moi résolu par combinant le tableau de deux modules en un avec des tableaux respectifs. –

0

J'ai eu le même problème et je viens de commenter temporairement, dans config/main.php, le contenu de la ar ray qui est la valeur de la rules clé:

'urlManager'=>array(
    'urlFormat'=>'path', 
    'rules'=>array(/* 
     '<controller:\w+>/<id:\d+>'=>'<controller>/view', 
     '<controller:\w+>'=>'<controller>/index', 
     '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>', 
     '<controller:\w+>/<action:\w+>'=>'<controller>/<action>'*/ 
    ), 
    'showScriptName'=>false, 
), 

Je gii accéder, généré mon contrôleur et la vue et enfin décommentée ces lignes.

0

Eh bien, avez-vous essayé un autre uri, comme: localhost/site/error?

Si obtenu 404 il y a un problème .htaccess, essayez d'enregistrer le code suivant dans le fichier .htaccess sous votre répertoire racine:

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule ^.*$ /index.php [L]