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テストを実行しているときにのみ発生するようです。このエラーの後で別のテストを実行して元に戻すと、一度は機能し、その後も失敗し続けることがあります。

私はCakePHP2.2.3とPHPUnit3.7.10を使用しています。

4

1 に答える 1

1

古いブラウザや特注のアプリケーションは、奇妙な、またはまったくUserAgentを提供しない場合がありますが、app / core/config.phpファイルでCakePHPのUserAgentの側面を無効にすることができます。

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

テストのためにUserAgentをそのまま維持したい場合は、以下を使用してデバッグできます...

env('HTTP_USER_AGENT');

于 2013-01-08T12:22:34.307 に答える