検索
ホームページphp教程php手册PHP はデータベースを使用してセッションを保存します

PHP はデフォルトでセッションをファイルの形式で保存します。これはファイル スペースのオーバーヘッドが非常に小さい Windows でのみ使用できますが、uinx または liux でファイル システムを使用する場合、そのようなファイルのファイル スペース オーバーヘッドは大きくなります。ただし、システムが非常に大規模であるため、多数のユーザーが常にセッション ファイルを作成する必要があり、サーバー全体のパフォーマンスに問題が生じます。この方法では、同時に使用されるサーバーの数に関係なく、セッションを 1 つのデータベース サーバーに保存するだけで済みます。セッションの整合性を保存できます。実装方法の詳細については、読み続けてください。

デフォルトでは、PHP セッションはファイル モードで保存されます。PHP 設定ファイル php.ini に session.save_handler="files" という行があり、これはセッションの保存にファイルを使用することを意味します。セッションを保存するためにデータベースを使用したい場合は、サポート モードに変更し、名前を session.save_handler="use" に変更する必要があります。ただし、これはセッションの保存にファイルを使用しないことを意味するだけです。データベースを作成し、データベースのテーブルを作成します。

データベースとデータベースのテーブル構造を確立するには、PHP と MySQL の組み合わせが最適であるため、例として MySQL を使用します。 MySQL データベースは必要に応じて名前を変更できます。MySQL にはトランザクション機能がないため、他のデータベースに比べて高速です。ただし、セッション ファイルの保存にはトランザクション処理が必要ないため、これを改善することにしました。

データベースの作成 , CREATE DATABASE 'session'; テーブル構造の作成 CREATE TABLE 'session'( id CHAR(30) NOT NULL , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY (' id') );
php ファイルの書き込み

$con =mysql_connection("127.0.0.1","user" , "pass");
mysql_select_db(" session");
function open($save_path, $session_name)
{
return(true);
}
function close()
{
return(true) ;
}
function read($id)
{
if($result = mysql_query("SELECT * FROM session WHERE id='$id'"))
{
if($row = mysql_felth_row($result ))
>}
function write($id, $sess_data)
{
if($result = DATE セッション SET データ='$ sess_data' WHERE id='$id'"))
{
return true;
}
else
{
return false;
}
}
function destroy($id)
{
if($result = mysql_query("DELETE * FROM session WHERE id='$id'"))
{
return true;
}
else
{
return false;
}
}
/***********************************************
* 警告 - あなたここでは *
* のようなガベージ コレクション ルーチンを実装する必要があります。  *
********************************************/
function gc($maxlifetime)
{
return true;
}
session_set_save_handler("open" , "close", "read", "write", "destroy", "gc");
session_start();
// に進みます通常セッションを使用します
?>

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

これで作業は完了しました。セッションを使用する必要がある限り、session_user_start.php を変更します。このファイルをファイルの最初の行に含める必要があることに注意してください。その後、ファイルのセッションと同じように使用できます。

この記事は急いで書いたものです、何か間違っている点がありましたら、貴重なご意見をお聞かせください。修正は大歓迎です。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境