<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></title> 
<link>http://www.bizeway.net/index.php</link> 
<description><![CDATA[网务通 - 网务公司发展之路]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></copyright>
<item>
<link>http://www.bizeway.net/read.php?</link>
<title><![CDATA[将php的session保存到内存中]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[PHP]]></category>
<pubDate>Fri, 26 Jan 2007 07:57:53 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?</guid> 
<description>
<![CDATA[ 
	　　今天一直在研究如何将session保存到内存中去，我们先说一下为什么要把session保存到内存中去，有什么好处呢？<br/>　　因为如果我们的php程序中设置了session_start()，那么每个访问此文件的人都会产生一个session文件存在系统缓存中/tmp目录下，我们经常写的购物车或者会员系统经常要使用到session，所以如果一个流量很大的网站或者session保存时间设置很长的网站，就会在/tmp目录下建立大量session文件，虽然有时候这些文件大小仅仅为0，可是它确实还是占用了一个文件句柄，我有一台服务器因为设置的保存时间太长了，结果产生了120多万个session，占用了硬盘所有的文件句柄，导致再也不能建立新文件了，我用了35个小时来删除这120多万个session，只要你设置了session_start()，服务器会根据用户本地的cookie查找session的值，如果有保存session文件那么取回session的值，如果没有那么新建立一个session文件。可想而知，在120多万个文件中查找你要的文件，是多么恐怖的事情啊，我用ll命令等几分钟都没反应呢，所以太多的session文件势必造成系统运行缓慢，所以我想把session保存到内存中去，这样就可以大大加快session的读写速度，还可以减少硬盘的损耗，两全其美啊。哈哈<br/>　　我找到了很多文章说使用MM一个session使用共享内存的模块可以做这个工作，刚好ports里面也有，我就安装了一下，而且还按照说明重新编译了php，并且把php.ini的session.save_handler = files改成了session.save_handler = mm，结果我不管怎么调用还是抱错说找不到save_handler mm，这可愁死我了，搞了一个早上，也没找出问题所在。因为MM测试未成功，我这里就不提供MM的安装步骤了。<br/>　　结果我在察看phpinfo的时候，偶尔在session那段发现了Registered save handlers = files user eaccelerator ，呵呵，原来是我安装了eaccelerator，可能它和mm不能共存吧。我把session.save_handler = eaccelerator，重起apache后，运行正常。去/tmp下察看，确实不在生成新的session文件了，哈哈！<br/>　　<strong>另外需要提醒大家一点的就是，虽然session保存到内存中有种种好处，但是如果使用apachectl restart，那么内存中的session会丢失哦，所以不要动不动就重起apache。呵呵！<br/>　　不知道eaccelerator和不会安装eaccelerator的，请到这里来看我写的关于eaccelerator的安装方法！<a href="http://www.bizeway.net/read.php/29.htm" target="_blank">http://www.bizeway.net/read.php/29.htm</a></strong><br/>Tags - <a href="tag.php?tag=session" rel="tag">session</a> , <a href="tag.php?tag=php" rel="tag">php</a> , <a href="tag.php?tag=eaccelerator" rel="tag">eaccelerator</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] 将php的session保存到内存中]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>