PHPでのセッションデータベースストレージインスタンスの詳細説明
セッション ストレージ フォルダーを変更すると、セッションが一時フォルダーをいっぱいにしてサイトがクラッシュするのを防ぐことができますが、大規模な Web サイトに 1 日に 1,000 人がログインし、1 か月に 30,000 人がログインすると、30,000 人がログインすると計算できます。ただし、現時点では、セッション データベース ストレージ ( session_set_save_handle()) に適用する必要があります。 PHPの関数。構文形式は次のとおりです: session_set_save_handle(open, close, read, write, destroy,gc);
説明 | |
セッションストアのアドレスを検索、変数名を取得 | |
パラメータは必要ありません、データベースを閉じます | |
セッションキーの値を読み取り、キーはsession_idに対応します | |
where data 対応して SESSION 変数を設定します | |
セッションキーに対応するセッションをログアウトします | |
期限切れのセッションレコードをクリアします |
(1) データベースに接続するための
session_open() 関数をカプセル化します。 コード形式は次のとおりです。 <?php
function session_open($save_path,$session_name)
{
//连接 mysql 数据库
$handle = mysqli_connect('localhost','root','root','db_test');
// 判断数据库是否成功
if(!$handle)
{
die('打开数据库失败');
}
}
?>
(2)
session_close() 関数をカプセル化し、データベース接続を閉じます。 コード形式は次のとおりです。 <?php
function session_close()
{
$handle = mysqli_connect('localhost','root','root','db_test');
mysqli_close($handle);
return(true);
}
?>
(3)
session_read()関数をカプセル化し、関数に現在時刻の UNIX タイムスタンプを設定し、$key 値に基づいてセッション名とコンテンツを検索します。 コード例は次のとおりです。 命令はデータベースに保存されます session_expiry は UNIX タイムスタンプです。
(4)session_write()
関数をカプセル化します。セッションの有効期限が関数内に設定され、セッション名とコンテンツが見つかります。クエリ結果が空の場合、現在のページのセッションは session_id、session_name、および有効期限に基づいてデータベースに挿入されます。クエリ結果が空でない場合、データベース内のセッション ストレージ情報は $ に基づいて変更されます。 key と実行結果が返されます。 コード例は次のとおりです。<?php function session_read($key) { //连接数据库 $handle = mysqli_connect('localhost','root','root','db_test'); //设定当前时间 $time = time(); $sql = "select session_date from tb_session where session_key='$key'and session_time>$time "; $result = mysqli_query($handle,$sql); $row = mysqli_fetch_array($result); if($row) { //返回 Session 名称和内容 return($row['session_date']); }else{ return(false); } } ?>
<?php function session_write($key,$data) { //连接数据库 $handle = mysqli_connect('localhost','root','root','db_test'); //设定失效时间 $time = 60*60; // 得到 UNIX 时间戳 $lapse_time = time() + $time; $sql = "select session_date from tb_session where session_key='$key'and session_time>$lapse_time "; $result = mysqli_query($handle,$sql); if(mysqli_num_rows($result) == 0) // 没有结果 { //插入数据库SQL语句 $sql = "insert into tb_session values ('$key','$data',$lapse_time)"; $result = mysqli_query($handle,$sql); }else{ // 修改数据库SQL语句 $sql = "update tb_session set session_key='$key', sessoin_data='$data', session_time=$lapse_time where session_key='$key' "; $result = mysqli_query($handle,$sql); } return($result); } ?>
<?php function session_destroy($key) { //连接数据库 $handle = mysqli_connect('localhost','root','root','db_test'); // 删除 Session 的 SQL 语句 $sql = "delete from tb_session where session_key='$key'"; $result = mysqli_query($handle,$sql); return($result); } ?>
session_set_save_handler()
を使用してセッション ストレージ データベースを実装します。実装コードは次のとおりです:<?php function session_gc($expiry_time) { //连接数据库 $handle = mysqli_connect('localhost','root','root','db_test'); // 将参数$expiry_time 赋值为当前时间戳 $lapse_time = time(); // 删除 Session 的 SQL 语句 $sql = "delete from tb_session where expiry_time<$lapse_time"; $result = mysqli_query($handle,$sql); return($result); } ?>
以上がPHPでのセッションデータベースストレージインスタンスの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
