All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
初学来看:针对初学PHP新手的疑难问答_php资料_编程技术
用Popup对象构建网页右键菜单_JavaScript技术_编程技术
利用C#创建,IIS,站点并设置.NET,Framework版本为ASP.NET,2.0,的方法,二_[Asp.Net教程]
Linux,下用PHP4连接,Oracle8i,的方法_php资料_编程技术
C#中实现VB中的CreateObject方法_.net资料_编程技术
delphi组件vcl的方法有哪些
ASP.NET技巧:设置上传文件的最大大小_[Asp.Net教程]
FireFox,如何用javascript,修改状态栏_JavaScript技术_编程技术
visual c++中设备环境简介
千万级数据分页之二---一个简单的自定义分页控件_[Asp.Net教程]
Reading number is top 10 pictures
这才是真正的人体艺术1
Look for from human art net, is good--2
各种囧况!玩游戏最不喜欢出现的十件事(点评)
日本小萝莉2
Parking technology is great, that give you the keys can't stolen
30 beautiful school beauty2
The real super beauty9
人造器官和铁肺人
为什么别人说你是疯子
A man's favorite things3--ZhouWeiTong
Download software ranking
WebService在.NET中的实战应用教学视频 → 第5集
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
Sora aoi - one of more PK
Call Of Duty5
linux高级编程
尖东毒玫瑰B
Unix video tutorial4
Love the forty days
Eclipse 4.2.2 For Win32
Professional killers2 for Android
归海一刀 published in(发表于) 2014/2/10 6:50:33 Edit(编辑)
php采用数据库保存session_[PHP教程]

php采用数据库保存session_[PHP教程]

php采用数据库保存session_[PHP教程]

php保存session 默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户酒药创建很多的session文件,这样对整个的服务器带来性能问题,另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的session保存在一台数据库服务器上就可以保存session的完整了,具体如何来实现请继续看下去。



  1. php的session默认的情况下是采用的文件方式来保存的,我们在php的配制文件php.ini中可以看到这样的一行,session.save_handler="files",这样的意思就是采用文件来保存session 的,要采用数据库来保存的话,我们需要修改成拥护模式,改称 session.save_handler="use"就可以了,但是,这仅仅是说明我门没有采用文件的方式存储session,我们还要选择数据库和建立数据库的表。
  2. 建立数据库和数据库的表结构,我们可以采用php可以使用的任何的数据库,因为php和mysql的结合最好,我就使用mysql来做事例,当然根据你的需要可以改称别的数据库,同时因为mysql没有事物的功能,这也比别的数据库更快,然而保存session 书、一 不许要事物处理的,再者里我决的更好。
  3. 创建数据库 , CREATE DATABASE 'session'; 创建表结构 CREATE TABLE 'session'( id CHAR(30) NOT NULL , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY ('id') );

编写php文件



con =mysql_connection("127.0.0.1","user" , "pass");
mysql_select_db("session");
function open(save_path, session_name)
{
return(true);
}


function close()
{
return(true);
}


function read(id)
{
if(result = mysql_query("SELECT * FROM session WHERE id='id'"))
{
if(row = mysql_felth_row(result ))
{ return row["data"]; }
}
else
{
return "";
}
}


function write(id, sess_data)
{
if(result = mysql_query("UPDATE session SET data='sess_data' WHERE id='id'"))
{
return true;
}
else
{
return false;
}


}


function destroy(id)
{
if(result = mysql_query("DELETE * FROM session WHERE id='id'"))
{
return true;
}
else
{
return false;
}


}


/*********************************************
* WARNING - You will need to implement some *
* sort of garbage collection routine here. *
*********************************************/
function gc(maxlifetime)
{
return true;
}


session_set_save_handler("open", "close", "read", "write", "destroy", "gc");


session_start();


// proceed to use sessions normally


?>保存成为session_user_start.php。


现在我们的工作就已经完成了,只要你在需要在使用session的时候,把session_user_start.php。包含进来,注意,这个文件一定要在文件的第一行包含,然后就想使用文件的session一样的方法使用旧可以了。


本文写的仓促,如果有不对的地方请你提出宝贵的意见。欢迎你的斧正。


来源:http://blog.csdn.net/eoe2005/archive/2007/02/20/1512131.aspx







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.