Session 尝试时读取会话数据时出错";会话::实例()&引用;在科哈纳

Session 尝试时读取会话数据时出错";会话::实例()&引用;在科哈纳,session,kohana,kohana-3,Session,Kohana,Kohana 3,在localhost上一切正常,但在deploy上,当我尝试调用session::instance()时出现错误“读取会话数据时出错”。我的错在哪里? 可能是服务器问题或Kohana bug?如果您使用数据库(或ORM)进行会话,“读取会话数据出错”通常意味着Kohana无法连接到数据库。检查您是否可以连接到数据库 如果您正在为会话使用文件,请检查PHP写入会话的文件夹是否可写。您可以发布您的session.PHP吗?如果使用加密选项,是否设置了加密密钥?您使用什么驱动程序来存储会话(文件、co

在localhost上一切正常,但在deploy上,当我尝试调用session::instance()时出现错误“读取会话数据时出错”。我的错在哪里?
可能是服务器问题或Kohana bug?

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


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

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

在我的情况下,这是一个服务器问题。昨天我遇到了类似的问题,这就是我解决问题的方法

  • 首先,将错误处理设置为false(在bootstrap.php上,设置error=>false),以便更好地进行诊断
  • 再次刷新浏览器。我的在C:\xampp\tmp上写入时出错。原来我的“tmp”文件夹不见了(我不知道为什么,可能是因为鼠标坏习惯而误删除了)
  • 创建tmp文件夹,完成:)
顺便说一句,我使用“native”作为kohana会话处理程序。
对于xampp,您可以在xampp/apache/conf/extra/httpd-xampp.conf上查看“SetEnv TMP{your TMP dir here}”。其他灯组可能会有所不同。

我的问题出现在会话“native”kohana 3.3中。我在读取会话数据和损坏的数据时出错。当我检查
$\u SESSION
数组中的任何数据时,例如
echo$\u SESSION['x']
有我需要的值,那么为什么这告诉我读取错误

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

try{
$session = Session::instance();
}
catch (Exception $e){//do sth. eg. restrt sesion etc..}
但这是一个糟糕的解决方案,因为几个月后,问题在另一台服务器上返回给了我。 我收到了消息Database_Exception[1030]:从存储引擎收到错误28。。。 或数据库_异常[126]:表'/ramdisk/mysql/tmp/#sql_138c_2.MYI'的密钥文件不正确;尝试修复它[显示
tabe
]中的完整列]

因此,当您的服务器上没有存储mysl文件的空间时,您会收到错误“读取会话数据时出错”
解决方案是在服务器上腾出一些空间。在我的例子中,我只删除了一些非常旧的文件和一些日志文件。

我不使用加密。会话的存储是本机的(cookie)。通过向kohana类中的会话_start添加检查,问题得以解决。如果($\会话)会话\开始();但这很好吗?我不知道…我不使用加密。会话的存储是本机的(cookie)。通过向kohana类中的会话_start添加检查,问题得以解决。如果($\会话)会话\开始();但这很好吗?我不知道。。