【发布时间】:2012-05-06 19:45:50
【问题描述】:
在 localhost 上一切正常,但在部署时,当我尝试调用 Session::instance() 时出现错误“读取会话数据时出错”。我的错误在哪里? 也许是服务器问题或 Kohana 错误?
【问题讨论】:
在 localhost 上一切正常,但在部署时,当我尝试调用 Session::instance() 时出现错误“读取会话数据时出错”。我的错误在哪里? 也许是服务器问题或 Kohana 错误?
【问题讨论】:
在我的情况下,它是一个服务器问题。我昨天也遇到了类似的问题,我就是这样解决的。
顺便说一句,我使用“native”作为 kohana-session 处理程序。 对于 xampp,您可以在 xampp/apache/conf/extra/httpd-xampp.conf 上查看“SetEnv TMP {your tmp dir here}”。其他 LAMP 堆栈可能会有所不同。
【讨论】:
你能发布你的 session.php 吗?如果您使用加密选项,您是否设置了加密密钥?您使用什么驱动程序来存储会话(文件、cookie、数据库)?
【讨论】:
如果您将数据库(或 ORM)用于会话,那么“读取会话数据时出错”通常意味着 Kohana 无法连接到数据库。检查您是否可以连接到数据库。
如果您使用文件进行会话,请检查 PHP 写入会话的文件夹是否可写。
【讨论】:
我的问题出在会话 'native' 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]: Got error 28 from storage engine...
或 Database_Exception [126]:表'/ramdisk/mysql/tmp/#sql_138c_2.MYI'的密钥文件不正确;尝试修复它[显示来自tabe的完整列]
因此,当您的服务器上没有空间用于 mysl 存储文件时,您会收到错误“读取会话数据时出错” 解决方案是在服务器上腾出一些空间。就我而言,我只是删除了一些非常旧的文件和一些日志文件。
【讨论】: