session_set_save_handler的调用过程是如何样的
session_set_save_handler的调用过程是怎么样的?
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php /**CREATE TABLE IF NOT EXISTS `sessions` ( `session` varchar(255) character set utf8 collate utf8_bin NOT NULL, `session_expires` int(10) unsigned NOT NULL default '0', `session_data` text collate utf8_unicode_ci, PRIMARY KEY (`session`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; */class Session { /** * a database connection resource * @var resource */ private static $_sess_db; /** * Open the session * @return bool */ public static function open() { if (self::$_sess_db = mysql_connect('localhost', 'root', '')) { return mysql_select_db('my_application', self::$_sess_db); } return false; } /** * Close the session * @return bool */ public static function close() { return mysql_close(self::$_sess_db); } /** * Read the session * @param int session id * @return string string of the sessoin */ public static function read($id) { $id = mysql_real_escape_string($id); $sql = sprintf("SELECT `session_data` FROM `sessions` WHERE `session` = '%s'", $id); if ($result = mysql_query($sql, self::$_sess_db)) { if (mysql_num_rows($result)) { $record = mysql_fetch_assoc($result); return $record['session_data']; } } return ''; } /** * Write the session * @param int session id * @param string data of the session */ public static function write($id, $data) { $sql = sprintf("REPLACE INTO `sessions` VALUES('%s', '%s', '%s')", mysql_real_escape_string($id), mysql_real_escape_string(time()), mysql_real_escape_string($data) ); return mysql_query($sql, self::$_sess_db); } /** * Destoroy the session * @param int session id * @return bool */ public static function destroy($id) { $sql = sprintf("DELETE FROM `sessions` WHERE `session` = '%s'", $id); return mysql_query($sql, self::$_sess_db); } /** * Garbage Collector * @param int life time (sec.) * @return bool * @see session.gc_divisor 100 * @see session.gc_maxlifetime 1440 * @see session.gc_probability 1 * @usage execution rate 1/100 * (session.gc_probability/session.gc_divisor) */ public static function gc($max) { $sql = sprintf("DELETE FROM `sessions` WHERE `session_expires` < '%s'", mysql_real_escape_string(time() - $max)); return mysql_query($sql, self::$_sess_db); }}//ini_set('session.gc_probability', 50);ini_set('session.save_handler', 'user');session_set_save_handler(array('Session', 'open'), array('Session', 'close'), array('Session', 'read'), array('Session', 'write'), array('Session', 'destroy'), array('Session', 'gc') );if (session_id() == "") session_start();//session_regenerate_id(false); //also works fineif (isset($_SESSION['counter'])) { $_SESSION['counter']++;} else { $_SESSION['counter'] = 1;}echo '<br/>SessionID: '. session_id() .'<br>Counter: '. $_SESSION['counter'];
"open" /* session_start()调用 */
"close" /* 程序结束时调用 */
"read" /* session_start()调用 */
"write" /* 程序结束时调用 */
"destroy" /* session_destroy()调用 */
"gc" /* 操作系统gc进程调用 */
上面是我从网上的例子中看到的(原文链接http://blog.csdn.net/zf213/archive/2009/06/22/4288567.aspx)

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











WebアプリケーションにおけるMySQLの主な役割は、データを保存および管理することです。 1.MYSQLは、ユーザー情報、製品カタログ、トランザクションレコード、その他のデータを効率的に処理します。 2。SQLクエリを介して、開発者はデータベースから情報を抽出して動的なコンテンツを生成できます。 3.MYSQLは、クライアントサーバーモデルに基づいて機能し、許容可能なクエリ速度を確保します。

Laravelは、Webアプリケーションを簡単に構築するためのPHPフレームワークです。次のような強力な機能を提供します。インストール:Laravel CLIを作曲家にグローバルにインストールし、プロジェクトディレクトリにアプリケーションを作成します。ルーティング:ルート/web.phpのURLとハンドラーの関係を定義します。ビュー:リソース/ビューでビューを作成して、アプリケーションのインターフェイスをレンダリングします。データベース統合:MySQLなどのデータベースとのすぐ外側の統合を提供し、移行を使用してテーブルを作成および変更します。モデルとコントローラー:モデルはデータベースエンティティを表し、コントローラーはHTTP要求を処理します。

MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

他のプログラミング言語と比較して、MySQLは主にデータの保存と管理に使用されますが、Python、Java、Cなどの他の言語は論理処理とアプリケーション開発に使用されます。 MySQLは、データ管理のニーズに適した高性能、スケーラビリティ、およびクロスプラットフォームサポートで知られていますが、他の言語は、データ分析、エンタープライズアプリケーション、システムプログラミングなどのそれぞれの分野で利点があります。

小さなアプリケーションを開発する際には、軽量データベース操作ライブラリをすばやく統合する必要性という厄介な問題に遭遇しました。複数のライブラリを試した後、私はそれらがあまりにも多くの機能を持っているか、あまり互換性がないかのどちらかであることがわかりました。最終的に、私は問題を完全に解決したYii2に基づいた単純化されたバージョンであるMinii/DBを見つけました。

記事の概要:この記事では、Laravelフレームワークを簡単にインストールする方法について読者をガイドするための詳細なステップバイステップの指示を提供します。 Laravelは、Webアプリケーションの開発プロセスを高速化する強力なPHPフレームワークです。このチュートリアルは、システム要件からデータベースの構成とルーティングの設定までのインストールプロセスをカバーしています。これらの手順に従うことにより、読者はLaravelプロジェクトのための強固な基盤を迅速かつ効率的に築くことができます。

MySQLの基本操作には、データベース、テーブルの作成、およびSQLを使用してデータのCRUD操作を実行することが含まれます。 1.データベースの作成:createdatabasemy_first_db; 2。テーブルの作成:createTableBooks(idintauto_incrementprimarykey、titlevarchary(100)notnull、authorvarchar(100)notnull、published_yearint); 3.データの挿入:InsertIntoBooks(タイトル、著者、公開_year)VA

Theliaを使用してeコマースWebサイトを開発するとき、私はトリッキーな問題に遭遇しました:MySQLモードが適切に設定されていないため、いくつかの機能が適切に機能しません。いくつかの調査の後、TheliamysQlModescheckerというモジュールを見つけました。これは、Theliaが必要とするMySQLパターンを自動的に修正できるため、問題を完全に解決できます。
