PHP は session_set_save_handler() 関数を使用してセッションを MySQL データベースに保存します_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:15:23
オリジナル
1037 人が閲覧しました

php は session_set_save_handler() 関数を使用してセッションを MySQL データベースに保存します

PHP はデフォルトでセッションをファイル形式で保存しますが、これはファイルスペースのオーバーヘッドが非常に小さい Windows でのみ使用できます。 uinx または liux でファイル システムを使用する場合、そのようなファイル システムのファイル スペースのオーバーヘッドは非常に大きくなりますが、セッションを常に使用する必要があるため、多数のユーザーが大量のセッション ファイルを作成することになります。サーバー全体にパフォーマンスの問題が発生します。

一方、サーバーがクラスター方式を採用している場合、セッションの一貫性が保てないため、このように、サーバーが何台同時に使用されても、データベースを使用してセッションを保存することができます。セッションが保存されている限り、データベース サーバーはセッションの整合性を保証できます。実装方法の詳細については、以下をお読みください。

PHP はデフォルトでセッションをファイル形式で保存します。PHP 設定ファイル PHP.ini に次の行があります。

session.save_handler="ファイル"

これは、セッションがファイルに保存されることを意味します。データベースに保存したい場合は、それをユーザーモードに変更して

に変更する必要があります。

session.save_handler="使用"

以上ですが、これはセッションの保存にファイルを使用しないことを意味するだけであり、データベースを選択してデータベース テーブルを作成する必要もあります。

データベースとデータベースのテーブル構造を確立するには、PHP が使用できる任意のデータベースを使用できます。PHP と mysql の組み合わせが最適であるため、例として mysql を使用します。もちろん、名前は変更できます。必要に応じて別のデータベースに移動します。

データベースを作成する

データベース「セッション」を作成します;

テーブル構造を作成する

テーブル 'session'( id char(32) not null , 'user 'char(30), data char(3000) ,主キー ('id') );

PHP セッションを保存し、PHP ファイルを書き込みます

リーリー

session_user_start.php として保存します。

これで、セッションを使用する必要があるときに session_user_start.php を含める限り、このファイルの最初の行に

を含める必要があることに注意してください。メソッドをファイルセッションとして使用します。

上記は単なるチュートリアルです。実際のアプリケーションでは、より専門的にパッケージ化できます。

SessionMysql.class.php

リーリー

システム ファイルのどこかでこのクラスをインスタンス化するだけです。

新しいSessionMysql();

興味があるかもしれない記事

ディレクトリ内のすべてのファイルを取得し、結果を配列に保存するphpプログラム
  • phpはarray_flipを使用して配列のキーと値の交換を実装し、配列の重複値を削除します
  • phpはフィルター関数を使用します電子メール、URL、IPアドレスを確認する方法
  • Windows環境でのmysqlデータベースのマスター/スレーブ同期バックアップ手順
  • phpはZipArchive関数を使用してファイルを圧縮および解凍します
  • php get_headers関数と使用法
  • PHP Curl 関数を使用します Web ページのマルチスレッド クロールを実装し、ファイルをダウンロードします
  • PHP 関数memory_get_usage を使用して、現在の PHP メモリ消費量を取得し、プログラムのパフォーマンスを最適化します

http://www.bkjia.com/PHPjc/905118.html

tru​​ehttp://www.bkjia.com/PHPjc/905118.html技術記事 PHP は session_set_save_handler() 関数を使用して、セッションを MySQL データベースに保存します。デフォルトでは、PHP はファイルの形式でセッションを保存します。これは、ファイル内のスペースをほとんど消費しません...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート