фреймворк yii: невозможно войти в gii - PullRequest
1 голос
/ 18 ноября 2010

Я просто следую 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

Есть идеи, как решить эту проблему?

Ответы [ 10 ]

2 голосов
/ 02 октября 2012

Вход в 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 голосов
/ 18 ноября 2010

У меня были проблемы с Chrome, перезапуск Chrome работал для меня.У Firefox вообще не было проблем.

1 голос
/ 22 ноября 2010

Похоже, проблема сеанса / cookie. Попробуйте перезапустить браузер, как упоминал Дон, или использовать другой браузер. Также может помочь обновление с очисткой кэша (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 (который на самом деле выглядит так, как будто вы не).

0 голосов
/ 30 марта 2016

Ни один из ответов не сработал для меня.Я все вместе удалил пароль.

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

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

0 голосов
/ 01 октября 2014

Моей проблемой был мой 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 */
    ),
    /* ... */
);
0 голосов
/ 10 февраля 2014

У меня та же проблема (в «Yii Example App» вход в систему работает успешно, но Gii нет и без сообщения об ошибке) в нерабочее время я решаю проблему, меняя php.ini моего сервера в Денвере:

session.save_path = "/tmp"

от

session.save_path = "d:\tmp"

P.S. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 25 сентября 2013

Чистые куки, или, более конкретно, все PHPSESSID.Иногда это загромождает домены верхнего уровня.

0 голосов
/ 28 июля 2013

Проверьте в своем php.ini, какой каталог вы установили для session.save_path,

php -i | grep session.save_path

, а затем убедитесь, что папка доступна для записи вашим веб-пользователем / группой.* пример:

sudo chgrp www-data /opt/lampp/temp/
0 голосов
/ 17 июля 2013

удаление моего домена куки моего браузера исправило эту проблему для меня

0 голосов
/ 23 ноября 2011

Через год ... У меня тоже была эта ошибка.В моем случае у меня было две версии PHP.Сначала я установил Wamp 2.0i с PHP 5.3.0.В этой версии PHP я установил yii 1.1.8 и запустил несколько тестовых проектов.

После этого я скопировал папку 5.2.5 PHP из другой установки WAMP на другой машине.Когда я выбираю PHP 5.2.5 в селекторе меню WAMP, я не могу подключиться к gii точно так, как сказал nightingale2k1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...