目次
問題の説明
プログラム設計
解決策
thinkphp で redis サポートが有効になる
laravel で redis を開く
laravel は thinkphp のセッションを取得します
ホームページ バックエンド開発 PHPチュートリアル laravel5.6 と thinkphp3.2 は redis を使用してセッションを共有します

laravel5.6 と thinkphp3.2 は redis を使用してセッションを共有します

Jul 07, 2018 pm 05:06 PM
laravel redis session thinkphp

この記事では主に、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 サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Laravel - アーティザンコマンド Laravel - アーティザンコマンド Aug 27, 2024 am 10:51 AM

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

Laravel - アーティザン コンソール Laravel - アーティザン コンソール Aug 27, 2024 am 10:51 AM

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

Laravel - ページネーションのカスタマイズ Laravel - ページネーションのカスタマイズ Aug 27, 2024 am 10:51 AM

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

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

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

Laravel - ダンプサーバー Laravel - ダンプサーバー Aug 27, 2024 am 10:51 AM

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

Laravel - ファサード Laravel - ファサード Aug 27, 2024 am 10:50 AM

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

Laravel - メールの送信 Laravel - メールの送信 Aug 27, 2024 am 10:50 AM

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

DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? DCAT管理者にデータを追加するためにクリックのカスタムテーブル関数を実装する方法は? Apr 01, 2025 am 07:09 AM

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

See all articles