セッション メカニズムはサーバー側のメカニズムであり、サーバーはハッシュ テーブル (またはハッシュ テーブル) に似た構造を使用して、各 Web サイト訪問者に一意の識別子、つまりセッション ID を割り当てます。これは 2 つの方法で保存できます。URL 経由で渡す方法と、クライアントの Cookie に保存する方法です。もちろん、セッションをデータベースに保存することもできます。これはより安全ですが、効率は低下します。 PHP のセッション メカニズムは、Cookie を設定し、その Cookie にセッション ID を保存することで、サーバー側でセッション ファイルが生成され、Web アプリケーションに関連するデータが保存されます。これらのセッションはページ間で転送されます。
PHP 関連関数
PHP にはセッションに関連する関数が多数ありますが、最も一般的に使用される関数は次のとおりです:
session_start(): セッション メカニズムを有効にします。セッションを使用する必要があるプログラム ファイルの先頭で呼び出します
session_register(): セッション変数を登録します
session_unregister(): セッション変数を (1 つずつ) 削除します
session_is_registered ( ): セッション変数が登録されているかどうかを確認します
session_disstroy(): すべてのセッション変数を破棄します(ファイルを含むすべてのセッション変数が破棄されます)
次の点に注意する必要があります:
1関数 session_start() プログラムの先頭で実行する必要があり、その前に出力コンテンツを置くことはできません。「警告: セッション Cookie を送信できません - ヘッダーは既に送信されました。」 " が表示されます。
2. 関数 session_register() は、セッションに保存される関連変数を登録するために使用されます。その使用法は次のとおりです:
$val = " session value";
session_register("val ");
?>
val は登録するセッション変数の名前です。登録時に「$」記号を追加しないでください。変数名を書き込みます。
3. 関数 session_unregister() の使い方は上記の関数と全く同じですが、上記の関数は
session 変数を登録します。
4. 関数 session_is_registered() は、変数が登録されているかどうかを判断するために使用されます。
5. 関数 session_destroy() は、主にシステムがログアウトするときにすべてのセッション変数を破棄するために使用されます。パラメータはなく、直接呼び出すことができます。
セッションとPHP.iniの関係の設定
1, session.save_handler = file
はセッションデータの読み取り/書き込みに使用され、デフォルトはファイルです。これにより、PHP のセッション管理関数が指定されたテキスト ファイルを使用してセッション データを保存できるようになります
2、 session.save_path = "/xammp/temp/"
セッション ファイルを保存するディレクトリを指定します、 「別のディレクトリに移動」を指定できますが、指定されたディレクトリには httpd デーモン (Apache や www など) の所有者からの書き込み権限がなければなりません。そうでない場合、セッション データは復元できません。 session.save_path = "N;/path" (N は整数) のように記述することもできます。これは、すべてのセッション ファイルが同じディレクトリに保存されるわけではなく、異なるディレクトリに分散されていることを意味します。これは、サーバーが大量のセッション ファイルを処理する場合に役立ちます。 (注: ディレクトリは手動で作成する必要があります)
3, session.auto_start = 0
このオプションが有効な場合、セッションはユーザーリクエストごとに初期化されます。推奨されません。session_start() を通じてセッションを明示的に初期化することをお勧めします。
QQ スクリーンショット 20111115173320
上の図: 左側は xammp/tmp/ の下に保存されたセッション ファイル、コンテンツは PHP シリアル化形式です
右側: 最初の行is echo Serialize($_SESSION['name']);//シリアル化
2 行目はセッション値を出力するものです
************************* ここで、ファイル名は session-name で、内容はは PHP シリアル化形式です
出典 :http://www.cnblogs.com/phphuaibei/archive/2011/11/15/2250082.html
以上、COOKIEとSESSIONの関係と違いを、関連する内容も含めて紹介しましたので、PHPチュートリアルに興味のある方の参考になれば幸いです。