laravel5.6 と thinkphp3.2 は redis を使用してセッションを共有します
この記事では主に、redis を使用して laravel5.6 と thinkphp3.2 の間でセッションを共有する解決策を紹介します。これには一定の参考値があります。今、共有します。必要な友人はそれを参照できます。
実践 このうち、過去にthinkphp3.2で開発していたプロジェクトは機能のアップデートが必要となり、アップデートされた機能はlaravel5.6で開発する予定です。
問題の説明
解決する必要のある重要な問題がいくつかあり、その 1 つはユーザー認証の問題です。つまり、システム 1 がログインするだけで、システム 2 はそのログイン情報を自動的に認識します。つまり、laravelとthinphpの共有セッションの問題という本質を解決する必要があります。
プログラム設計
セッションはストレージに Redis を使用します。 Thinkphp と laravel は一緒に redis にアクセスし、同じ cookie に基づいて redis に保存されている認証されたユーザー情報を自動的に取得します。
解決策
thinkphp で redis サポートが有効になる
thinkphp3.2 には統合セッションの redis サポートがありません。現時点では、php の設定を使用して有効にします。 Index.php に、次の 2 行のステートメントを追加します。
ini_set("session.save_handler", "redis"); ini_set("session.save_path", "tcp://redis:6379");
これを config.php 構成ファイルに追加することもできます
現時点では、thinkphp がセッションを保存するときに、 PHPREDIS_SESSION がプレフィックスとして保存されます。
laravel で redis を開く
laravel で redis を開く方法は比較的複雑です。具体的な情報については、公式ドキュメントを参照して、composer を使用して Predis をインストールし、関連する構成を実行する必要があります。
laravel は thinkphp のセッションを取得します
laravel は PHP の組み込みセッションを完全に非推奨にしたためです。したがって、$_SESSION を通じて情報を取得する方法はありません (未定義の変数エラーが発生する可能性もあります)。なぜなら、laravelのCookieは暗号化されているからです。そのため、laravel独自のCookieを利用してCookie情報を取得することはできません。
具体的な実装アイデアは次のとおりです。
1 ネイティブ Cookie を取得します。
2 PHPREDIS_SESSION を結合してキーを形成します。
3 redis を使用して、キーに格納されている値を直接取得します。
... use Illuminate\Support\Facades\Redis; ... $cookie = $_COOKIE['PHPSESSID']; $session = Redis::get('PHPREDIS_SESSION:' . $cookie);
この $session は、thinkphp システムのセッション値です。
上記がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
以上がlaravel5.6 と thinkphp3.2 は redis を使用してセッションを共有しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel - Artisan Console - Laravel フレームワークは、コマンドラインを介した対話のための 3 つの主要なツール、つまり Artisan、Ticker、REPL を提供します。この章ではArtisanについて詳しく説明します。

Laravel - ページネーションのカスタマイズ - Laravel には、ユーザーまたは開発者がページネーション機能を組み込むのに役立つページネーションの機能が含まれています。 Laravel ページネーターは、クエリ ビルダーおよび Eloquent ORM と統合されています。自動ページネーションメソッド

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

Laravel - ダンプサーバー - Laravel ダンプサーバーには、Laravel 5.7 のバージョンが付属しています。以前のバージョンにはダンプ サーバーが含まれていません。ダンプサーバーはlaravel/laravelコンポーザーファイルの開発依存関係になります。

Laravel - ファサード - ファサードは、アプリケーションのサービスコンテナで使用できるクラスへの静的インターフェイスを提供します。 Laravel ファサードは、サービスコンテナ内の基礎となるクラスへの静的プロキシとして機能し、簡潔な、exp の利点を提供します。

Laravel - 電子メールの送信 - Laravel は、無料の機能豊富なライブラリ SwiftMailer を使用して電子メールを送信します。ライブラリ機能を使えば、手間をかけずに簡単にメールを送信することができます。電子メール テンプレートはビューと同じ方法で読み込まれます。つまり、次のことが可能です。

DCATを使用するときにDCATADMIN(Laravel-Admin)にデータを追加するためにカスタムクリックのテーブル関数を実装する方法...
