yii框架:无法登录到gii

时间:2010-11-18 06:01:18

标签: php yii

我只是关注文档中的yii-blog.pdf,当我尝试登录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

知道如何解决这个问题吗?

11 个答案:

答案 0 :(得分:2)

我遇到过与Chrome有关的问题,重新启动Chrome对我有用。 Firefox完全没有问题。

答案 1 :(得分: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"

答案 2 :(得分:1)

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

我还必须设置URL别名以使Gii正常工作,因为我正在使用URL重写规则,如下所示:

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

如果您使用urlManager(实际上看起来不是这样),请尝试此操作。

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

删除我的浏览器 Cookie 我的浏览器修复了该问题

答案 5 :(得分:0)

检查你的php.ini,了解你为session.save_path设置的目录,

php -i | grep session.save_path

然后确保您的网络用户/组可以写入该文件夹。

示例:

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

答案 6 :(得分:0)

清理Cookie,或更具体的PHPSESSID。有时它会与上层领域混在一起。

答案 7 :(得分:0)

我有同样的问题(在'Yii Example App'登录工作成功但Gii没有和没有任何错误消息)。下班后我通过更改我的Denwer服务器的php.ini来解决问题:

session.save_path = "/tmp"

通过

session.save_path = "d:\tmp"

P.S。我希望这有助于某人。

答案 8 :(得分:0)

我的问题是我的session组件,我将cookieMode设置为none

'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 */
    ),
    /* ... */
);

答案 9 :(得分:0)

这些答案都不适合我。 我一起删除了密码。

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

我们正在为开发,登台和制作等不同环境使用多个配置文件。当我遇到问题时,我可能正在编辑错误的文件。

答案 10 :(得分:0)

您可以将任何密码写入配置文件-在此处查找:/protected/config/main.php,所需部分将显示

'modules'=>array(
    // uncomment the following to enable the Gii tool

    'gii'=>array(
        'class'=>'system.gii.GiiModule',
        'generatorPaths'=>array('bootstrap.gii'),
        'password'=>'yourPassword',
    ),
)
相关问题