1. ホーム
  2. php

[解決済み] 未定義変数: $_SESSION

2022-01-29 19:03:22

質問

次のような現象が起きています。 E_NOTICE を参照しようとすると、CakePHP のコアファイルでエラーが発生します。 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);
}

私のコード(app/ディレクトリ内)を検索してみたのですが、以下の参照は見つかりませんでした。 $_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

解決方法は?

AppModel に余分なコードがあり、物事を台無しにしていたことがわかりました。

beforeFindafterFind :

App::Import("Session");
$session = new CakeSession();
$sim_id = $session->read("Simulation.id");

わからない 何故 しかし、それが問題だったのです。 これらの行を削除すると、私が抱えていた問題が解決しました。