我正在使用 Kohana 3,但在以用户身份登录时遇到问题。
我使用这一行登录:
$success = Auth::instance()->login($_POST['login_user'], $_POST['login_password'], $remember);
我收到了这条错误信息:
Session_Exception [ 1 ]: Error reading session data. ~ SYSPATH/classes/kohana/session.php [ 326 ]
我使用以下 SQL 创建了 session 表:
CREATE TABLE `sessions` (
`session_id` varchar(24) NOT NULL,
`last_active` int(10) unsigned DEFAULT NULL,
`contents` text,
PRIMARY KEY (`session_id`),
KEY `sessions_fk1` (`last_active`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
还有配置文件夹中的 session.php:
<?php defined('SYSPATH') or die('No direct script access.');
return array(
'database' => array(
/**
* Database settings for session storage.
*
* string group configuation group name
* string table session table name
* integer gc number of requests before gc is invoked
* columns array custom column names
*/
'group' => 'default',
'table' => 'sessions',
'gc' => 500,
'columns' => array(
/**
* session_id: session identifier
* last_active: timestamp of the last activity
* contents: serialized session data
*/
'session_id' => 'session_id',
'last_active' => 'last_active',
'contents' => 'contents'
),
),
);
?>
这可能是什么问题?
谢谢!
最佳答案
我不知道这是否有帮助,但我遇到了类似的问题。
原因是使用一个库 (Facebook SDK), session 是在它的 onw 上初始化的,并且 session 处理是使用 $_SESSION
变量完成的。我注意到有两个 cookie - session
(Kohanas session ID)和 PHPSESSID
。这可能是问题的原因。
我修改了库,这样 id 就不会自行启动 session ,问题就解决了。
因此,您应该检查 session 是否未在其他地方启动。
关于php - 登录 Kohana 时出现错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7028509/