1

localhost ではすべて問題ありませんが、Session::instance() を呼び出そうとすると、デプロイ時に" Error reading session data " というエラーが表示されます。私の間違いはどこですか?多分それはサーバーの問題かKohanaのバグですか?

4

4 に答える 4

2

私の場合、サーバーの問題です。昨日も同様の問題がありましたが、これが解決方法です。

  • 最初に、エラー処理を false に設定します (bootstrap.php では、error => false に設定します)。
  • ブラウザを再度更新してください。私は C:\xampp\tmp に書き込みエラーがありました。「tmp」フォルダーが見つからないことが判明しました(理由はわかりません。おそらく、マウスの悪い習慣による誤った削除です)
  • tmp フォルダーの作成、完了:)

ところで、kohana-session ハンドラとして「native」を使用しています。xampp の場合、xampp/apache/conf/extra/httpd-xampp.conf で「SetEnv TMP {your tmp dir here}」を確認できます。他の LAMP スタックは異なる場合があります。

于 2012-06-28T00:32:16.253 に答える
1

session.php を投稿できますか? 暗号化オプションを使用している場合、暗号化キーを設定しましたか? セッション (ファイル、Cookie、データベース) を保存するためにどのドライバーを使用していますか?

于 2012-05-07T18:21:03.413 に答える
0

私の問題は、セッション「ネイティブ」コハナ 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 ]: Incorrect key file for table '/ramdisk/mysql/tmp/#sql_138c_2.MYI'; というメッセージが表示されました。修復してみてください [ SHOW FULL COLUMNS FROM tabe]

そのため、サーバーに mysl ストレージ ファイル用のスペースがない場合、「セッション データの読み取りエラー」というエラーが表示されます。解決策は、サーバーにスペースを作ることです。私の場合、いくつかの非常に古いファイルといくつかのログ ファイルを削除するだけです。

于 2014-01-04T20:08:54.580 に答える
0

セッションにデータベース (または ORM) を使用している場合、「セッション データの読み取りエラー」は通常、Kohana がデータベースに接続できないことを意味します。データベースに接続できることを確認します。

セッションにファイルを使用している場合は、PHP がセッションを書き込むフォルダーが書き込み可能であることを確認してください。

于 2012-05-06T23:18:14.650 に答える