尝试调用方法时
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。
答案 0 :(得分:1)
较旧的浏览器和定制应用程序可能提供奇怪的或没有UserAgent,但您可以在app / core / config.php文件中禁用CakePHP的UserAgent方面:
Configure::write('Session.checkAgent', false);
如果要保持UserAgent的测试完好无损,可以使用以下内容进行调试...
ENV( 'HTTP_USER_AGENT');