0

尝试调用该方法时

CakeSession->destroy()

我收到此错误:

未定义索引: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 顺便说一句。

4

1 回答 1

1

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

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

如果您想在测试中保持 UserAgent 完整,可以使用以下调试...

env('HTTP_USER_AGENT');

于 2013-01-08T12:22:34.307 回答