ホームページ >php教程 >php手册 >PHP サーバーはマルチセッション並列処理を実装します

PHP サーバーはマルチセッション並列処理を実装します

WBOY
WBOYオリジナル
2016-06-21 09:07:15921ブラウズ

セッション|サーバー

【要約】セッションの概念を理解した後、私のユニットの購入、販売、在庫システムを作成するときに、複数のユーザーが同時に php アプリケーションに入力できるようにする必要があることがわかりました。当初設計された静的で一意のセッション ID は、データの混乱を引き起こしました。このようにして、一意のセッション ID を動的に生成することが最優先事項になります。
いわゆるセッションは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); //空白を削除します
$micro = str_replace(".","",$micro); // ピリオドを削除します
$mysessionname = "po_maint" . $micro;
}
session_name($mysessionname);
session_start ( );

プログラムのメモ:

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



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