2010-11-18 82 views
1

我刚刚从文档中查看yii-blog.pdf,当我尝试登录到gii时,它始终向我显示登录表单。yii框架:无法登录到gii

我创建这个喜欢http://yii.blog 一个虚拟主机,然后试图从http://yii.blog/index.php?r=gii

访问在config/main.php

'modules'=>array(
    // uncomment the following to enable the Gii tool 
    'gii'=>array(
     'class'=>'system.gii.GiiModule', 
     'password'=>'12345', 
       //'ipFilters'=>array('127.0.0.1','yii.blog') 
    ), 
), 

当我输入了错误的密码形式可以说“密码错误。” 但是当我输入正确的那个时,它没有说出任何错误,它一直向我显示登录表单。

我正在使用YII 1.1.5

任何想法如何解决这个问题?

+0

我们的答案是否有助于解决您的问题? – thaddeusmt 2010-12-07 17:15:00

+0

只是安装新的xampp,它的工作原理。我不知道为什么它不适用于旧的xampp – nightingale2k1 2011-01-16 07:23:24

回答

2

我对Chrome有问题,重新启动Chrome为我工作。 Firefox根本没有问题。

1

听起来像会话/ cookie问题。尝试像Don提到的那样重新启动浏览器,或使用其他浏览器。还有一个缓存清除刷新(Ctrl + F5)可能会起作用。

我也不得不设置网址别名,使GII工作,因为我使用的URL重写规则,就像这样:

'components'=>array(
    'urlManager'=>array(
    'rules'=>array(
     'gii'=>'gii', 
     'gii/<controller:[\w\-]+>'=>'gii/<controller>', 
     'gii/<controller:[\w\-]+>/<action:\w+>'=>'gii/<controller>/<action>', 
    ) 
) 
) 

如果您在使用urlManager(它实际上看起来像你试试这个不)。

+0

这个设置对我来说非常有效 – Asped 2014-03-18 21:25:14

0

一年后.....我也有这个错误。在我的情况下,我有两个版本的PHP。首先,我用PHP 5.3.0安装了Wamp 2.0i。有了这个PHP版本,我安装了yii 1.1.8并开始了一些测试项目。

之后,我从另一台机器上的另一个WAMP安装中复制了PHP 5.2.5的文件夹。当我在WAMP托盘菜单选择器中选择PHP 5.2.5时,我不能像nightingale2k1所说的那样连接到gii。

2

登录到Gii需要使用PHP服务器会话,因此在另一个浏览器中测试或清除缓存和cookie有助于排除浏览器端可能会干扰会话处理的问题。然而,如果失败,则可能需要检查你的PHP配置:

  • 使用命令行语句php -i |grep session.save
  • 保存含<?php phpinfo(); ?>您的服务器上,并认为它在浏览器中的文件,然后做一个页内搜索“session.save”

在我的情况下,它是我的PHP.ini中的配置错误:未配置默认会话路径。我编辑了我的服务器的配置文件并为session.save_path设置了有效路径。我在我的默认PHP.ini中取消注释了相关行,并且在包含以下两行之后,我可以使用有效密码登录到Gii - 尽管可以使用其他会话配置。

session.save_handler = files 
session.save_path = "/tmp" 
0

删除我的域名饼干我的浏览器的固定的这个问题对我来说

0

检查你的php.ini为您所设置的目录为session.save_path的,

php -i | grep session.save_path 

然后确保该文件夹可由Web用户/组写入。

例如:

sudo chgrp www-data /opt/lampp/temp/ 
0

清洁饼干,或者更具体的所有PHPSESSID的。有时它与上层的领域混杂在一起。

0

我有同样的问题(在'Yii示例应用程序'登录工作成功,但Gii没有和没有任何错误信息)。

session.save_path = "/tmp" 

通过

session.save_path = "d:\tmp" 

附注:小时后我改变我的Denwer服务器php.ini解决问题我希望这可以帮助别人。

0

我的问题是我session组件,我已经建立cookieModenone

'components'=>array(
    /* ... */ 
    'session' => array (
     'autoStart' => false, 
     'cookieMode' => 'none', /* This means gii cannot set cookies! */ 
    ), 
    /* ... */ 
); 

这里cookieMode应设置为only代替:

'components'=>array(
    /* ... */ 
    'session' => array (
     'autoStart' => false, 
     'cookieMode' => 'only', /* "only" will allow gii to set cookies */ 
    ), 
    /* ... */ 
); 
0

的答案都不为我工作。 我一起删除了密码。

'configWeb' => array(
    // Modules 
    'modules' => array(
     'gii' => array(
      'class' => 'system.gii.GiiModule', 
      'password' => false, 
     ), 
    ), 

我们使用多个配置文件用于不同的环境,如开发,分段和生产。当我遇到问题时,我可能会编辑错误的文件。