[英]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.