我越來越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);
}
我已經通過做了搜索我的代碼(在應用程序/目錄中),我無法找到對$_SESSION
或session_destroy
的引用。我錯過了什麼?
當我嘗試運行任何單元測試時出現此錯誤。這是...正常嗎?我已經清除了cake/
目錄,並將其替換爲另一個(相同版本),以確保我沒有無意中修改核心文件中的任何內容,但我仍然得到相同的錯誤。我不確定這是否僅僅是框架或其他方面的缺陷。
編輯
下面是在命令行上試運行的結果:
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 2012-03-10 21:03:23
我對Cake不熟悉,但是你可以在文件的頂部(或者出錯的那一行之前的任何位置)放一個session_start()。 – 2012-03-10 21:03:33
你在命令行上運行單元測試嗎?什麼是確切的錯誤信息? – 2012-03-10 21:04:05