Someone wanted the PHP code were were using to store our sessions within memcached.&nbsp; <br><br>Well here you go.<br><br>replace tailrank_ to something less proprietary.... and you'll need your own version of tailrank_memcache_get_instance to get a copy of your memcached object.
<br><br>you to call session_start() at the beginning of your script and session_commit() at the end.<br><br>you'll also need to change the domain from <a href="http://tailrank.com">tailrank.com</a> to your domain (obviously)
<br><br>If you make any changes or fix any bugs please let me know.<br><br>This is hereby licensed under the GPL, BSD, and public domain so have fun! :)<br><br>&lt;?php<br><br>/*<br>&nbsp;* Send mail but also include the From header.
<br>&nbsp;*/<br>function tailrank_session_start() {<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; //For machines that already have this session loaded this will merely be<br>&nbsp;&nbsp;&nbsp; //redundant.... <br><br>&nbsp;&nbsp;&nbsp; global $_SESSION;<br>&nbsp;&nbsp;&nbsp; $my_memcache = tailrank_memcache_get_instance();
<br><br>&nbsp;&nbsp;&nbsp; $cookie = $_COOKIE[ &quot;SESSIONID&quot; ];<br><br>&nbsp;&nbsp;&nbsp; if ( $cookie != null ) {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $key = &quot;session3:&quot; . $cookie;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $session_data = $my_memcache-&gt;get( $key );<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $session_data != null ) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_SESSION = unserialize( $session_data );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; } else {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //call the default php session start code to init the session on this<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //client.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; srand((double)microtime()*1000000); 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cookie = rand( 0, 100000000000 ); <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_COOKIE[ &quot;SESSIONID&quot; ] = $cookie;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //create a new local aray for the session.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $_SESSION=array();<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $expire = time() + 365 * 24 * 60 * 60 * 24;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setcookie( 'SESSIONID', $cookie, $expire, &quot;/&quot;, &quot;.tailrank.com&quot; );<br><br>&nbsp;&nbsp;&nbsp; }<br><br>}<br><br>function tailrank_session_commit() {<br><br>&nbsp;&nbsp;&nbsp; //serialze $_SESSION<br><br>&nbsp;&nbsp;&nbsp; global $_SESSION;
<br>&nbsp;&nbsp;&nbsp; $my_memcache = tailrank_memcache_get_instance();<br><br>&nbsp;&nbsp;&nbsp; if ( $_SESSION != null ) {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $session_data = serialize( $_SESSION );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cookie = $_COOKIE[ &quot;SESSIONID&quot; ];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $key = &quot;session3:&quot; . $cookie;
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $my_memcache-&gt;set( $key, $session_data, false, 600 );<br><br>&nbsp;&nbsp;&nbsp; } <br><br>}<br><br>?&gt;<br clear="all"><br>-- <br>Founder/CEO <a href="http://Tailrank.com">Tailrank.com</a><br>Location: San Francisco, CA
<br>AIM/YIM: sfburtonator<br>Skype: burtonator<br>Blog: <a href="http://feedblog.org">feedblog.org</a><br>Cell: 415-637-8078