それは、設定されていないか、未設定のセッションを参照しようとしたとき、私はコアCakePHPのファイルにE_NOTICE
エラーを取得しています(cake/libs/cake_session.php line 372
):
function read($name = null) {
if (is_null($name)) {
return $this->__returnSessionVars();
}
if (empty($name)) {
return false;
}
$result = Set::classicExtract($_SESSION, $name);
}
私を通じて、検索を行ってきましたコード(アプリケーション/ディレクトリ内)と私は$_SESSION
またはsession_destroy
への参照を見つけることができません。私は何か不足していますか?
このエラーは、単体テストを実行しようとすると表示されます。これは普通ですか?私はcake/
ディレクトリをクリアして、別のもの(同じバージョン)に置き換えて、コアファイル内の何かを誤って変更していないことを確認しましたが、同じエラーが表示されます。これがフレームワークの欠点なのかどうか分かりません。ここで
EDIT
は、コマンドラインでテスト実行の結果は以下のとおりです。
Welcome to CakePHP v1.3.11 Console
---------------------------------------------------------------
App : app
Path: /var/www/program/app
---------------------------------------------------------------
CakePHP Test Shell
---------------------------------------------------------------
Running app case models/owners_equity
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
E_NOTICE: Undefined variable: _SESSION in /var/www/program/cake/libs/cake_session.php on line 372
ERROR->Unexpected PHP error [Undefined variable: _SESSION] severity [E_NOTICE] in [/var/www/program/cake/libs/cake_session.php line 372]
in testGenerateOwnerWithdrawals
in BalanceTestCase
in /var/www/program/app/tests/cases/models/owners_equity.test.php
ERROR->Unexpected PHP error [Undefined variable: _SESSION] severity [E_NOTICE] in [/var/www/program/cake/libs/cake_session.php line 372]
in testGenerateOwnerWithdrawals
in BalanceTestCase
in /var/www/program/app/tests/cases/models/owners_equity.test.php
セッションを開始する必要があります。 session_start(); – Ghostman
私はCakeに慣れていませんが、session_start()をファイルの先頭(またはエラーが出る行の前のどこか)に置くことができます。 –
ユニットテストをコマンドラインで実行しますか?正確なエラーメッセージは何ですか? –