- 追加された行はこの色です。
- 削除された行はこの色です。
-[[PHP?祉???激?с?括????肢?荐?http://www.stackasterisk.jp/tech/php/php03_06.jsp]]
-[[PHP: ?祉???激?с?喝?????∽??session) - Manual:http://www.php.net/manual/ja/ref.session.php]]
-[[Custom Session Handler:http://www.daniweb.com/code/snippet43.html]]
-[[Saving PHP's Session data to a database:http://www.tonymarston.net/php-mysql/session-handler.html]]
-[[Saving PHP Session Data to a Database:http://www.developertutorials.com/tutorials/php/saving-php-session-data-database-050711/page1.html]]
-[[Web Database Applications with PHP & MySQL: Chapter 8: Sessions:http://www.oreilly.com/catalog/webdbapps/chapter/ch08.html]]
-[[Introduction to Using Sessions with ADOdb | PHP Everywhere:http://phplens.com/phpeverywhere/node/view/37]]
-[[ADODB Session Management Manual:http://www.april.org/dotproject/lib/adodb/docs/docs-session.htm]]
-[[[PHP-users 8038] session_set_save_handler??c ???ゃ????http://ns1.php.gr.jp/pipermail/php-users/2002-June/008043.html]]
* php.ini ??┃絎? [#mabf2718]
-[[?祉???激?с?鰹?sesssion鐚????≫?????php.ini???<?ゃ????┃絎?:http://f3.aaa.livedoor.jp/~matukazu/cautions/ini_session.php]]
-[[PHP???若????????PHP.INI ??┃絎????祉???激?с?括隈:http://d.hatena.ne.jp/michanLab/20091021/1256108113]]
~
~
|???? | ??????????? | 茯???h
|session.auto_start |0鐚??≦?刻? |???????鴻????紮???? ?祉???激?с?潟?≪?吾?ャ?若?????祉???激?с?潟????????????紮?????????????????絎?????????1?????????鴻???????????祉???激?с?割戎????????session_start()???∽?違??絎h??????????篏睡???с????????????????|
|session.cache_limiter |nocache |?祉???激?с?潟???若?吾???????????c???激?ュ?九勝???号?????絎? (none/nocache/private/private_no_expire/public) |
|session.cache_expire |180 |???c???激?ャ???????祉???激?с?潟???若?吾?????号??????????篏??ф??絎?|
|session.cookie_lifetime |0鐚????????吟?????????障?э? |???????吟????篆<???????????若?????号??????腱???篏??ф??絎?|
|session.cookie_path |/ |session_cokkie?ц┃絎????????鴻????絎? |
|session.cookie_domain |腥堺??絖? | ???????若?????鴻?????????<?ゃ?潟???????????????祉???????????????????????????泣?若????????????????????若?????c?????障????????????abc.com ????絎?????????www.abc.com, private.abc.com ?????????????若????????????????鐚?session.cookie_path ?ф??絎????????鴻????筝??眼?????逸???|
|session.cookie_secure |off |?祉???ャ?≪??・膓?????????????ookie????篆<?с????????????????絎? |
|session.entropy_file |腥堺??絖? |?祉???激?с??D??篏????????????ャ?????潟???????純?若?鴻??????戎??????紊??????純?若?鴻?吾?????鴻????絎???箴???????????紊????NIX?у??????純??dev/random?障????dev/urandom???????????障????|
|session.entropy_length |0 |session.entropy_file?????<?ゃ?????? 茯??帥???????ゃ???違????絎? |
|session.gc_probability |1 |???若???吾?潟?????激?с?潟???莨若?水?ゃ??┃絎??с???????????鴻??罸???????????罸??????祉???激?с?喝????????? gc (???若???吾?潟?????激?с???∽?違????紮????障???????若???吾?潟?????激?с?潟???莨若?水?ゃ?????若?祉?潟???ф??絎????障????|
|session.gc_divisor |100 |session.gc_divisor? session.gc_probability????水??????с???鴻?????祉???激?с?潟?????????????c鐚????若?????吾?潟?????激?с?鰹??????祉?鴻??紮???????腆榊????九勝???障????腆榊???c_probability/gc_divisor?ц?膊??????障????箴????違??1/100???????????鴻??罸???%??∈????C?????祉?鴻?? 紮??????障????|
|session.gc_maxlifetime |1440 |???若?帥???????帥?????帥????????羔??祉???????障?с????違????絎????障????|
|session.hash_function|0|????激?ョ?????∽?違????絎?鐚?0:MD5/1:SHA鐚?|
|session.hash_bits_per_character|4|1??絖?罸???????激?ャ??????? (4/5/6) |
|session.name |PHPSESSID |?祉???激?с?喝??????絎????????????弱????????戎???????障?????≪?????<????????絖????帥?ф??絎?????綽?荀????????障????|
|session.referer_check |腥堺??絖? |HTTP Referer ????????∈茯???茵?????絖???????絎????障????Referer???????ゃ?≪?潟??????????篆<???????????????ゃ????絎???????絖?????荀?篁??????????翫????????莨若?障?????祉???激?с??D???≦?鴻???????障????|
|session.save_handler |files |?祉???激?с?潟???∫?c???????若?帥???絖??????喝????戎??????????潟?????????臂?
|session.save_path |/tmp |?祉???激?с?潟???主????????宴??篆?絖????????<?ゃ????篏??????????贋???????鴻??1???<?ゃ?潟?ц??違??eb?泣?若???ч???????????????演?????≪???祉?鴻?с????????????????絎??????????????????с?祉???激?с?潟???掩?????с??????|
|session.serialize_handler |php |?激???≪?????障?????激???≪???????若?帥??緇?????????????戎??????????潟????????????絎?臂 |
|session.use_cookies |1鐚????刻? |?????ゃ?≪?潟???眼???祉?? ?激?с??D??篆?絖????????????????若??篏睡??????????????????絎?|
|session.use_only_cookies |0鐚??≦?刻? |?????≪?吾?ャ?若?????????ゃ?≪?潟???眼?吾???祉???激?с??D???絖???ookie???帥??篏睡??????????????絎? |
|session.use_trans_sid |0鐚??≦?刻? |?祉???激?с?潟??????????祉???激?с??D(SID)????????????????????????絎? |
|session.bug_compat | | |
|session.bug_compat_42 | | |
* ?祉???激?с??D?????羝<?? [#j9a67876]
-Cookie篏睡???罔?羣?鐚?
-URL???????<?帥??????ET?<?純?????с?祉???激?с??D??????羝<??
-URL????????祉???激?с??D??????莨若??
--mod_rewrite????????RL?吾?????????腟??帥??綽?荀?
* ?祉???激?с?括??? [#w88c48bd]
-[[茲??違?泣?若???с?祉???激?с?潟???掩???????眼????????????:http://www.slideshare.net/j_nakada/ss-7506214]]
-[[Enhance PHP session management:http://kevin.vanzonneveld.net/techblog/article/enhance_php_session_management/]]
-[[How to scale PHP applications:http://www.slideshare.net/e.zimuel/how-to-scale-php-applications]]
** ?????祉???激?с?括?????絵?? [#w4348e33]
DB, memcached 膈???篏帥?c???祉???激?с?括?????茵????翫??????篁ヤ????鴻??絵???????
- php.ini ? session.auto_start ???ゃ?? 0 ?????c???????????絽吾????純????????
- session.save_hander ???ゃ?? user ??????綽?荀?????????php.ini ?ц┃絎???????????翫??? ini_set() ?ц┃絎???????
- PHP5.0.5篁ラ?????翫??? session_start() ???若?九?????荐???絎?茵???????
register_shutdown_function('session_write_close');
** ?掩????????????篏帥?c???祉???激?с?括??? [#u35ef80d]
-茲??違???????????????≪???祉?鴻?с?????掩???????????????????с?????違????????筝???ソ
-php.ini ??? session.save_path ???掩??????????????????????????
** MySQL??篏帥?c???祉???激?с?括??? [#fb9ca3fd]
?祉???激?с?括??????????若??????篏????????????祉???激?с?潟??潟??????絎?臂???????
?? ???若??? sessions
CREATE TABLE `sessions` (
`id` varchar(32) NOT NULL default '',
`access` int(10) unsigned default NULL,
`data` text,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
?? session_mysql.ini
<?php
define("SESSION_DB_HOST", "localhost");
define("SESSION_DB_USER", "test");
define("SESSION_DB_PASS", "test");
define("SESSION_DB_DB", "test");
?>
?? session_mysql.php
<?php
require_once("session_mysql.ini");
// ???若?九?臂????祉???激?с?潟??潟??????篏睡?
ini_set("session.save_handler", "user") or die("ini_set(session.save_handler) failed.");
// ?祉???激?с?潟??潟?????∽?違??荐??
session_set_save_handler('_open', '_close', '_read', '_write', '_destroy', '_clean');
// PHP5.0.5 篁ラ??? session_start() ???若?九?????????????絎?茵?
register_shutdown_function('session_write_close');
function _open()
{
global $_sess_db;
$db_host = SESSION_DB_HOST;
$db_user = SESSION_DB_USER;
$db_pass = SESSION_DB_PASS;
$db_db = SESSION_DB_DB;
if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))
{
return mysql_select_db($db_db, $_sess_db);
}
return FALSE;
}
function _close()
{
global $_sess_db;
return mysql_close($_sess_db);
}
function _read($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "SELECT data FROM sessions WHERE id = '$id'";
if ($result = mysql_query($sql, $_sess_db))
{
if (mysql_num_rows($result))
{
$record = mysql_fetch_assoc($result);
return $record['data'];
}
}
return '';
}
function _write($id, $data)
{
global $_sess_db;
$access = time();
$id = mysql_real_escape_string($id);
$access = mysql_real_escape_string($access);
$data = mysql_real_escape_string($data);
$sql = "REPLACE INTO sessions VALUES ('$id', '$access', '$data')";
return mysql_query($sql, $_sess_db);
}
function _destroy($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "DELETE FROM sessions WHERE id = '$id'";
return mysql_query($sql, $_sess_db);
}
function _clean($max)
{
global $_sess_db;
$old = time() - $max;
$old = mysql_real_escape_string($old);
$sql = "DELETE FROM sessions WHERE access < '$old'";
return mysql_query($sql, $_sess_db);
}
?>
?? test.php
<?php
require_once("session_mysql.php");
// Initialize a session. This call either creates
// a new session or re-establishes an existing one.
session_start();
// If this is a new session, then the variable
// $count will not be registered
if (!session_is_registered("count"))
{
session_register("count");
session_register("start");
$count = 0;
$start = time();
}
else
{
$count = $_SESSION['count'];
$start = $_SESSION['start'];
$count++;
}
$sessionId = session_id();
$_SESSION['count'] = $count;
$_SESSION['start'] = $start;
?>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" >
<html>
<head><title>Sessions</title></head>
<body>
<p>This page points at a session
(<%= $sessionId %>)
<br>count = <%= $count %>.
<br>start = <%= $start %>.
<p>This session has lasted
<?php
$duration = time() - $start;
echo "$duration";
?>
seconds.
<p><a href="destroy_session.php">destroy session</a>
</body>
</html>
** TokyoTyrant ???????祉???激?с?括??? [#z1cc8bef]
-[[TokyoTyrant??篏帥?c?????祉???激?с?潟?鴻?????若??????) | ?????泣????http://blog.heartofsword.net/archives/479]]
** Repcached ???????祉???激?с?括??? [#z2d323c5]
-[[Memcached?с??????pcached???祉???激?с?括?????戎??????鐚??ゃ???с??okyo Tyrant???ゃ??????絨???鐚?:http://blog.asial.co.jp/508]]
-[[Repcached:http://lab.klab.org/wiki/Repcached]]??Lab???
-蕭???鐚?memcached?????蚊????鐚?
-???????宴?若?激?с?喝??緒?鐚??違???純?<???????若?帥??紊宴???????鐚?
-memcached???????ゃ?≪?潟????篏帥????鐚?荐????紊??眼????綽?荀???????鐚?
** memcached ???????祉???激?с?括??? [#k297a273]
[[memcached:http://www.danga.com/memcached/]] ???泣?若?????<?≪????????若?帥???主????????閟?罕?????箴????????若???????≪???帥?ゃ???????若?帥?с????綽?荀??????????若?帥???????主??????????号????????????荐???с????????????
-[[memcached:http://www.danga.com/memcached/]]
-[[PHP???祉???激?с?潟???若?炊?主?????emcached??????CentOS):http://blog.suz-lab.com/2010/09/phpmemcachedcentos.html]]
-[[memcached??PHP???祉???激?с?潟??戎??:http://dozo.matrix.jp/pear/index.php?PECL%2Fmemcache%2Fsession]]
-[[Memcache ?∽??http://www.php.net/manual/ja/ref.memcache.php]]
-[[memcached?????????∽?違???c???激??http://d.hatena.ne.jp/koyhoge/20070108/memcache]]
*** Memcache?∽?? Memcache?????鴻??篏帥?????????????? [#na1eedd1]
- php.ini ? extension_dir ??絖??????????c????????????絎?????????????腆肴???"./" ?????<??
extension_dir = "/usr/local/lib/php/extensions"
- 篁ヤ???絎?茵?????????????????????extension_dir ???掩?????ゃ?????????ゃ?潟?鴻???若????????
$ pecl install memcache
- php.ini ??札筝???菴遵??
extension=no-debug-non-zts-20060613/memcache.so
- Apache ????莎桁??
** sharedance ???????祉???激?с?括??? [#f9982f49]
-[[sharedance:http://sharedance.pureftpd.org/project/sharedance]]
-[[sharedance??eb?泣?若???????祉???激?с?喝?掩??:http://www.phppro.jp/phptips/archives/vol10/]]
Mac OS X 筝??с?????ゃ??????????≫??с???障????????с???????c?????????荐若??????????????
** ?????若?吾?????号???????????馹? [#x8f68b6a]
-[[PHP Tips:http://www.workspot.jp/tech/php_tips.html]]
-[[[PHP-users 21673]session_cache_limiter??戎????http://ns1.php.gr.jp/pipermail/php-users/2004-May/022195.html]]
-[[[PHP-users 16654]?祉???激?с?潟???祉???ャ?????c?若?????c???激?ャ???????若??????鐚?:http://ns1.php.gr.jp/pipermail/php-users/2003-July/017184.html]]
-[[???c???激?ュ?九勝:http://www.google.com/url?sa=U&start=8&q=http://ameblo.jp/genetsys/&e=10001]]
-[[Essential PHP Security:http://phpsecurity.org/]]
-[[Session Management Over the Web:http://www.oreilly.com/catalog/webdbapps/chapter/ch08.html]]
** ????URL [#uf7fceb9]
-[[PHP ? Web ?≪?????宴?若?激?с?潟???祉???ャ?????c???ゃ???????<??http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html]]