WEB開発を行っていると、時々、WEBサーバーが複数台構成で、ロードバランスしたりする場合などがあり、
セッション情報をDBに持つ場面があったりします。
この際、セッションをDBに持たせることにより解決しますが、その設定方法を記載します。
・前提
Linux + PHP + MySQLでの開発
・方法
1.php.iniのsession.save_handlerにuserを設定。(ini_set関数でも可)
2.session_set_save_handler関数にてユーザー定義のセッション保存関数を設定。
session_set_save_handler('open','close','read','write','destroy','clean');
via.http://jp.php.net/manual/ja/function.session-set-save-handler.php
3.セッション保存用のテーブルを用意(※下記は必要に応じて変更してください。)
CREATE TABLE sessions
(
id INTEGER NOT NULL AUTO_INCREMENT,
session_id TEXT NOT NULL ,
value TEXT,
update DATETIME ,
PRIMARY KEY (id) ,
UNIQUE Index_1(session_id )
)
4.上記2で定義した下記の関数を設定します。
open
close
read
write
destroy
clean
ex).セッション参照
function read($session_id)
{
$conn = mysql_connect('hostname_or_ip' , 'user', 'password');
$session_id = mysql_real_escape_string($session_id);
$query = "SELECT value FROM sessions WHERE session_id = '".$session_id."'";
$rows = mysql_query($query , $conn );
mysql_close($rows );
while ($row = mysql_fetch_array( $rows ))
{
$value = $row['data'];
}
return $value ;
}
The shape of the system that overflows in the world is equal to the "knowhows" that parties concerned of each industry have.
People who create the system need high-ranking "knowhows" further.
I want to become ..high-ranking "knowhows".. handlers' help.
2010/08/05
登録:
コメントの投稿 (Atom)
-
using Excel = Microsoft.Office.Interop.Excel; /// Excelオブジェクト Excel.Application oXls; /// ワークブックコレクション Excel.Workbook oWBook = this.oXl...
-
リンクでgoogleカレンダーへ予定を追加すした、忘れそうなのでメモ ○Javascriptでの記述例 var text = "買い物"; var details = "新春バーゲンセール"; var location= ...
-
Androidのアプリ開発を行うために行った開発環境の構築手順についてメモします。 作業時点(2012.04.24)での最新と思われるもので構築しました。 ・環境 OS: Windows7 64bit ・入れたもの JDK Standard Edition ...
0 件のコメント:
コメントを投稿