2013-01-08 27 views
0

當試圖調用方法未定義指數:在的userAgent CakeSession

CakeSession->destroy() 

我得到這個錯誤:

Undefined index: userAgent

堆棧跟蹤如下:

lib\Cake\Model\Datasource\CakeSession.php : 332

lib\Cake\Model\Datasource\CakeSession.php : 632

lib\Cake\Model\Datasource\CakeSession.php : 192

lib\Cake\Model\Datasource\CakeSession.php : 438

lib\Cake\Model\Datasource\CakeSession.php : 427

我已經遵循它的方法

CakeSession->_validAgentAndTime() 

那個索引真的很缺失 - 不管怎麼樣,我都不知道如何在那裏找到它。它似乎只在運行PHPUnit測試時發生。 有時候,如果我在這個錯誤之後運行另一個測試並返回,它會工作一次,然後再次失敗。

我使用CakePHP 2.2.3和PHPUnit 3.7.10 btw。

回答

1

舊的瀏覽器和定製的應用程序可以提供奇怪或不UserAgent的,但你可以在app /核心/ config.php文件禁用的CakePHP的用戶代理方面:

Configure::write('Session.checkAgent', false); 

如果你想保留的UserAgent完整的爲您的測試,您可以使用下面的調試...

env('HTTP_USER_AGENT');

+0

剛剛發現我的問題是不同的原因(我們覆蓋了一些會話數據) - 無論如何,想通了這是一個可能的解決方案,所以謝謝! – Alex