ホームページ >バックエンド開発 >PHPチュートリアル >Laravel プロジェクトはセッションの問題を他のプロジェクトと共有します

Laravel プロジェクトはセッションの問題を他のプロジェクトと共有します

WBOY
WBOYオリジナル
2016-06-23 13:25:40754ブラウズ

ここで要約させてください、もしかしたら将来誰かがそれを必要とするかもしれません、
実際、Laravel のセッションは PHP に付属するセッションマネージャーを使用しません。しかし、私は完全に自分自身で1つを実現しました。
これは、従来の意味での session_set_save_handler を使用するカスタム セッション プロセッサではなく、完全に自分で実装されることに注意してください。

したがって、別の ThinkPHP プロジェクトとセッションを共有する問題を解決するのは非常に簡単です~
Laravel で PHP に付属するセッション (session_start) を開始するだけです。

これはコードコメントです。「Laravelセッションは、くだらないものであるため、いかなる形でもPHPの「ネイティブ」セッションを利用しないことに注意してください。」
Laravelは、いかなる形でもPHPの「ネイティブ」セッションを利用しないことに注意してください。セッション、ダサいから。

さて、あとはくだらないセッションを始めるだけです。

by kankana

上記はlaravelから他のプログラムのセッションにアクセスする方法です

以下はlaravelのセッション(ファイル)に外部からアクセスする方法です

laravelのセッションドライバをfileに設定するとこれらのセッションがアクセスされます。ファイルはjson形式でapp/storage/sessionsに保存されます

重要なのは、対応するセッションファイルを見つける方法です

このファイル名は暗号化された形式でCookieのlaravel_sessionに保存されます

このファイル名を取得するには、

1、まずこのライブラリをインストールします:

https://github.com/illuminate/encryption

2、app/config/app.phpにある暗号化キー

keyを取得します。 3,

$encrypter = new IlluminateEncryptionEncrypter($key);
$session_filename = $encrypter->decrypt($_COOKIE['laravel_session']);

まさにその通りです。


===== ========= ===================

==================== ============ ======

プロジェクト間でセッションを共有するためのベスト プラクティスは、セッション情報を Redis またはデータベースに保存することです。プロジェクトは Redis またはデータベースを読み取るだけで済みます。データベース


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。