未定义的索引:CakeSession中的userAgent

时间:2013-01-08 10:15:06

标签: cakephp phpunit

尝试调用方法时

CakeSession->destroy()

我收到了这个错误:

  

未定义的索引:userAgent

Stack Trace如下:

  

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 个答案:

答案 0 :(得分:1)

较旧的浏览器和定制应用程序可能提供奇怪的或没有UserAgent,但您可以在app / core / config.php文件中禁用CakePHP的UserAgent方面:

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

如果要保持UserAgent的测试完好无损,可以使用以下内容进行调试...

ENV( 'HTTP_USER_AGENT');