????怎样删除session文件???? 好像办不到,可以写一个程序,定期运行,删掉所有session或是把session保存目录设在系统temp文件夹 ,系统重启会自动处理 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主,不生成session那还用session干吗? session 是系统(PHP)自己管理 的啊,一般是一个星期以后就会被删掉,你也可在PHP.INI中修改,其实也只是一个随机号等信息而已,不会占多少空间,我觉得没有必要人为管理! 在不用SESSION的情况下可用下面禁止自动生成:ini_set("session.auto_star",0);如果使用SESSION,又不想以文件方式保存,可以考虑使用session_set_save_handler存入数据库:if(!mysql_table_exists("sessions",$DB)){ $query = 'CREATE TABLE sessions ( SessionID char(255) not null, LastUpdated datetime not null, DataValue text, PRIMARY KEY ( SessionID ), INDEX ( LastUpdated ) )'; mysql_query($query);} function sessao_open($aSavaPath, $aSessionName){ global $aTime; sessao_gc( $aTime ); return True;}function sessao_close(){ return True;}function sessao_read( $aKey ){ $query = "SELECT DataValue FROM sessions WHERE SessionID='$aKey'"; $busca = mysql_query($query); if(mysql_num_rows($busca) == 1) { $r = mysql_fetch_array($busca); return $r['DataValue']; } ELSE { $query = "INSERT INTO sessions (SessionID, LastUpdated, DataValue) VALUES ('$aKey', NOW(), '')"; mysql_query($query); return ""; }}function sessao_write( $aKey, $aVal ){ $aVal = addslashes( $aVal ); $query = "UPDATE sessions SET DataValue = '$aVal', LastUpdated = NOW() WHERE SessionID = '$aKey'"; mysql_query($query); return True;}function sessao_destroy( $aKey ){ $query = "DELETE FROM sessions WHERE SessionID = '$aKey'"; mysql_query($query); return True;}function sessao_gc( $aMaxLifeTime ){ $query = "DELETE FROM sessions WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(LastUpdated) > $aMaxLifeTime"; mysql_query($query); return True;}session_set_save_handler("sessao_open", "sessao_close", "sessao_read", "sessao_write", "sessao_destroy", "sessao_gc"); php清除session临时文件的默认概率是千分之一如果网站流量大可以把概率调小,流量小的话可以调高具体在php.ini的[session]段session.gc_probability = 1session.gc_divisor = 100这样设置是100次访问会激活一次清除垃圾的进程 做文章评论页面 请教下discuz ucenter 的积分同步问题 php中如何调用java类的构造函数 php多个问题 读取CSV文件后存入数据库,会多出很多条空记录 mysql administrator连接局域网数据库 下载器代码可能有问题,导致PDF文件损坏 急问:关于读取数据库中长内容时被截断的问题 关于$PHP_AUTH_PW和$PHP_AUTH_USER的问题 apache错误后,不能访问php页(其他静态页能访问),怎么自动重起apache? php在linux和win下面运行速度差别大么? 高分求救:在windows2000下PHP如何连接oracle9i
ini_set("session.auto_star",0);如果使用SESSION,又不想以文件方式保存,可以考虑使用session_set_save_handler存入数据库:
if(!mysql_table_exists("sessions",$DB))
{
$query = 'CREATE TABLE sessions
(
SessionID char(255) not null,
LastUpdated datetime not null,
DataValue text,
PRIMARY KEY ( SessionID ),
INDEX ( LastUpdated )
)';
mysql_query($query);
}
function sessao_open($aSavaPath, $aSessionName)
{
global $aTime;
sessao_gc( $aTime );
return True;
}
function sessao_close()
{
return True;
}
function sessao_read( $aKey )
{
$query = "SELECT DataValue FROM sessions WHERE SessionID='$aKey'";
$busca = mysql_query($query);
if(mysql_num_rows($busca) == 1)
{
$r = mysql_fetch_array($busca);
return $r['DataValue'];
} ELSE {
$query = "INSERT INTO sessions (SessionID, LastUpdated, DataValue)
VALUES ('$aKey', NOW(), '')";
mysql_query($query);
return "";
}
}
function sessao_write( $aKey, $aVal )
{
$aVal = addslashes( $aVal );
$query = "UPDATE sessions SET DataValue = '$aVal', LastUpdated = NOW() WHERE SessionID = '$aKey'";
mysql_query($query);
return True;
}
function sessao_destroy( $aKey )
{
$query = "DELETE FROM sessions WHERE SessionID = '$aKey'";
mysql_query($query);
return True;
}
function sessao_gc( $aMaxLifeTime )
{
$query = "DELETE FROM sessions WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(LastUpdated) > $aMaxLifeTime";
mysql_query($query);
return True;
}
session_set_save_handler("sessao_open", "sessao_close", "sessao_read", "sessao_write", "sessao_destroy", "sessao_gc");
如果网站流量大可以把概率调小,流量小的话可以调高
具体在php.ini的[session]段
session.gc_probability = 1
session.gc_divisor = 100这样设置是100次访问会激活一次清除垃圾的进程