簡體   English   中英

yii framework:無法登錄到gii

[英]yii framework: cannot login to gii

我只是按照文檔中的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

任何想法如何解決這個問題?

登錄Gii需要使用PHP服務器會話,因此在其他瀏覽器中進行測試或清除緩存和cookie有助於排除瀏覽器端可能會干擾會話處理的問題。 但是,如果失敗,則可能需要檢查PHP配置:

  • 使用命令行語句php -i |grep session.save
  • 保存一個包含<?php phpinfo(); ?>的文件<?php phpinfo(); ?> <?php phpinfo(); ?>在您的服務器上並在瀏覽器中查看它,然后在頁面內搜索“ session.save”

在我的情況下,結果證明我的PHP.ini中配置錯誤:未配置默認會話路徑。 我為服務器編輯了配置文件,並為session.save_path設置了有效路徑。 我在默認的PHP.ini中取消了對相關行的注釋,並且在包含以下兩行之后,我可以使用有效的密碼登錄Gii了-盡管可以進行其他會話配置。

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

我在使用Chrome時遇到了問題,重新啟動Chrome可以為我工作。 Firefox完全沒有問題。

沒有答案對我有用。 我一起刪除了密碼。

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

我們正在針對不同環境(例如開發,登台和生產)使用多個配置文件。 當我遇到問題時,我可能還是在編輯錯誤的文件。

聽起來像是會話/ 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(實際上看起來好像不是),請嘗試此操作。

刪除瀏覽器的域Cookie對我來說已解決了該問題

在php.ini中檢查您為session.save_path設置的目錄,

php -i | grep session.save_path

然后確保該文件夾可被您的Web用戶/組寫入。

例:

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

清除cookie,或更確切地說是所有PHPSESSID。 有時,它會雜亂上層域。

我有同樣的問題(在“ Yii示例應用程序”中登錄成功,但是Gii沒有並且沒有任何錯誤消息)。 下班后,我通過更改我的Denwer服務器的php.ini解決了問題:

session.save_path = "/tmp"

通過

session.save_path = "d:\tmp"

PS我希望這可以幫助某人。

我的問題是我的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 */
    ),
    /* ... */
);

您可以將任何密碼寫入配置文件–在此處查找:/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',
    ),
)

一年后...我也有這個錯誤。 就我而言,我有兩個版本的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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM