-5

違いは何ですか?セッション変数が情報を保存し、ページ間で使用できることは知っていますが、いくつか質問があります。値はどこに保存されますか? セッション変数と通常の変数の違いは何ですか?

これは PHP のコンテキストにあります。これについてオンラインで多くの情報を見つけられなかったため、詳細な回答を求めています。

4

3 に答える 3

3

値はどこに保存されますか?

それはPHPの設定に依存します。デフォルトでは、セッション変数はシリアル化され、サーバーのファイル システム上のファイルに書き込まれます。セッションを開始する各ページ ビューでは、シリアル化が解除され、$_SESSION配列からアクセスできます。データベースなどの別の場所に変数を保存できるように、既定のセッション ハンドラーをオーバーライドすることができます。

セッションは、セッション ID (一意の識別子) をクライアントのコンピューターに Cookie として保存することによって機能します。クライアントがページを要求するたびに、セッション ID Cookie が要求と共に送信され、PHP は Cookie からセッション ID を取得し、そのセッション ID に関連するセッション データを取得します。

セッション変数と通常の変数の違いは何ですか?

簡単に言えば、セッション変数はソース (ファイル システムなど) に保存されます。これにより、ページ リクエスト間でセッション変数が保持されます。通常の変数は、スクリプトの実行が完了するまでしか存続せず、その後破棄されます。

于 2012-12-13T18:12:59.730 に答える
0

デフォルトでは、セッション変数はサーバー上のファイルに保存されます。ユーザーを指すセッションは、通常、ブラウザーに設定された Cookie で処理されます (または、おそらくクエリ文字列の醜いパラメーターですが、これはお勧めできません)。

ドキュメントには、セッションの仕組みに関する多くの情報があります。

于 2012-12-13T18:04:10.770 に答える
0

PHP は、本質的にサーバー サイトの Cookie に (一意の ID を使用して) セッション変数を格納します。次に、ユーザーのブラウザーに Cookie を保存し、セッション ID を追跡して、後で検索できるようにします。

Cookie は基本的に、各変数のエンコードされたデータを含むテキスト ファイルです。

通常の変数は一時メモリに格納されるだけで、終了時にガベージ コレクションが行われます。

編集: また、別の定義については、この回答を参照してください: PHP: $_SESSION 内に「オブジェクト」を保存する

于 2012-12-13T18:05:19.967 に答える