2012-05-06 176 views

回答

1

你可以发布你的session.php吗?如果您使用加密选项,您是否设置了加密密钥?你用什么驱动程序来存储会话(文件,cookie,数据库)?

+0

我不使用加密。会话的商店是本地(cookie)。通过在kohana类中添加检查到session_start解决了问题。 if($ _SESSION)session_start();但是很好吗?我不知道... – Meliborn

0

如果您使用数据库(或ORM)进行会话,那么“错误读取会话数据”通常意味着Kohana无法连接到数据库。检查您是否可以连接到数据库。

如果您正在使用会话文件,请检查PHP写入会话的文件夹是否可写。

+0

参见上一个答案。 – Meliborn

+0

以前的答案是什么? –

+0

我不使用加密。会话的商店是本地(cookie)。通过在kohana类中添加检查到session_start解决了问题。 if($ _SESSION)session_start();但是很好吗?我不知道.. – Meliborn

2

在我的情况下,它的服务器问题。我昨天有类似的问题,这是我如何解决它。

  • 第一,设置错误处理错误(在bootstrap.php中,设置错误=>假)为更好地诊断再次
  • 刷新浏览器。我在C:\ xampp \ tmp上写错了。事实证明,我的“TMP”的文件夹不见了(我不知道为什么,可能是由于misdeleting坏习惯鼠标)
  • 创建TMP文件夹中,做了:)

顺便说一句,我使用的“本土”为Kohana的 - 会话处理程序。 对于xampp,您可以检查xampp/apache/conf/extra/httpd-xampp.conf中的“SetEnv TMP {您的tmp目录}”。其他LAMP堆栈可能会有所不同。

0

我的问题是会话'本地'kohana 3.3。我得到了错误的阅读会话数据和破碎的数据或其他东西。当我检查来自$_SESSION阵列的任何数据时,例如echo $_SESSION['x']有我需要的价值,那么为什么这告诉我有关错误阅读?

错误出现在行上:$session = Session::instance(); 我尝试了很多解决方案(例如php.ini),但没有成功。 我的第一个解决方案是:

try{ 
$session = Session::instance(); 
} 
catch (Exception $e){//do sth. eg. restrt sesion etc..} 

但是,这是不好的解决方案,因为几个月后,这个问题还给我另一台服务器上。 我收到消息Database_Exception [1030]:从存储引擎中得到错误28 ... 或Database_Exception [126]:表'/ramdisk/mysql/tmp/#sql_138c_2.MYI'的错误密钥文件;尝试修复它[SHOW FULL COLUMNS FROM tabe]

所以,当您的服务器上存在的思想报存储文件中没有空间,你thta错误“错误读取会话数据” 的解决方案是让服务器上的一些空间。在我的情况下,我只删除了几个非常旧的文件和一些日志文件。