ホームページ  >  記事  >  バックエンド開発  >  PHP サーバー 複数の PHP サーバーにより、複数のセッションを同時に実行できます。

PHP サーバー 複数の PHP サーバーにより、複数のセッションを同時に実行できます。

WBOY
WBOYオリジナル
2016-07-29 08:33:201020ブラウズ

まず、セッションの概念を紹介します:
いわゆるセッションは Microsoft によって最初に提案され、最初に ASP に統合されました。セッションの採用により、Web 開発者の作業は大幅に容易になります。一時期、ASP は世界中で普及しました。現在、php4 にはセッションのサポートも追加されており、オープンソースの力を改めて示しています。 Cookie と同様に、Session は http プロトコルのステートレス問題を解決するために、訪問中に異なるページ間でデータを送信するように設計されていますが、Session はよりシンプルで安全です。中国語にはセッションという統一した訳はなく、私は会話と訳すことに慣れています。セッションの意味については、誰もが明確に理解する必要があります。セッションとは、実際には、Web サイトを閲覧するときにブラウザを閉じることなく、Web アプリケーションの開始と終了を意味します。セッションには複数の http リクエストとレスポンスが含まれる場合があります。たとえば、freemail.263.net を使用する場合、ログインからログアウトまたはタイムアウトまでの期間がセッションの存続期間とみなされます。作成された各セッションにはセッション ID と呼ばれる固有の識別文字列があり、この文字列はクライアントに送信され、同じ固有の識別文字列エントリがサーバー側でも生成されるか、テキスト ファイルに配置されます。データベース内で。その後、プログラムはこの sessionID の下にいくつかのセッション変数を登録できます。これらの変数は、通常の変数と同様にテキストまたは数値情報を保存でき、セッションを通じて読み書きできます。セッションの一意の識別子は通常、システム内で一意のセッション ID であり、通常は非常に長い文字列です。
疑問が生じました:
セッションの概念を理解した後、自分のユニットの購入、販売、在庫システムを作成するときに、複数のユーザーが同時に PHP アプリケーションに入力できるようにする必要があることがわかりました。当初設計された静的で一意のセッション ID は、データの混乱を引き起こしました。このようにして、一意のセッション ID を動的に生成することが最優先事項になります。
解決策は簡単です。php ファイル名 + タイムスタンプを一意のセッション ID として使用しました。これにより、プログラム内の各セッションが所定の位置に配置され、混乱がなくなりました。
同じ問題を抱えている友人が解決策を見つけられるように、以下に私のソースコードを公開します。
//変数を保持するために PHP セッションを開始します。
if ( empty($mysessionname) ) {
$micro = microtime();
$micro = str_replace(" ","",$micro); // blanks
$micro = str_replace(".","",$micro); // ピリオドを取り除きます

プログラムメモ:
ページ間で一意のセッション名の変数を渡すために mysessionname を使用します。この名前も使用する場合は、上記のプログラムに小さな変更を加える必要があります。 Mysessionname は、セッションの開始前にすでに存在しているため、セッションの内部変数名にすることはできません。複数のセッションが元の Cookie ファイルを確実に上書きするため、Mysessionname を Cookie モードで保存することはできません。非表示のフォームフィールドを使用して保存できます。そうすれば問題はありません。議論するために書き込みを歓迎します。一緒にもっと良くしましょう。

以上、PHP サーバーについて紹介しました。PHP サーバーの内容も含め、複数の PHP サーバーでマルチセッションの同時実行を実現できます。PHP チュートリアルに興味のある友人の参考になれば幸いです。

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