首页 > 代码库 > 将session保存到memcache

将session保存到memcache

步骤:

 修改php.ini的配置文件

如下:

;[sesson.save_handler user|files|memcache]

session.save_handler = memcache

session.save_path = "tcp://127.0.0.1:11211"

 测试一把,重启apache


如果管理员,不让我们修改 php.ini 文件,我们如何处理sessionmemcached这个功能我们通过一个函数可以去修改 php.ini 的配置.

 

代码:

<?php

 

ini_set("session.save_handler","memcache");

ini_set("session.save_path","tcp://127.0.0.1:9999");

 

同时你也可以通过 ini_set 去动态的修改对php.ini 的其它设置 。但是他不影响其它php页面,也不会去修改php.ini 文件本身只对本页面生效.


<?php

	ini_set("session.save_handler","memcache");
	ini_set("session.save_path","tcp://127.0.0.1:9999");
	//传统的代码
	session_start();
	$_SESSION['name']='4000';
	$_SESSION['city']='beijing';
	class Dog{
		public $name;
	}

	$dog1=new Dog;
	$dog1->name='abcde';
	$_SESSION['dog']=$dog1;

	//如果session数据入mem,那他一定是以session_id为
	//key值进行添加
	
	//取出
	$name=$_SESSION['name'];
	echo "name=$name";
	echo "sessionidu=".session_id();

u memached安全性,本身没有自己的安全机制,需要注意。

如何使用memcached 服务才是安全的.

windows下通过启用防火墙来保护我们的memcached,原理图:



linux 也可以使用防火墙.

setup 配置防火墙

iptables -a input -p tcp -s 127.0.0.1 -dport 11211 -j ACCEPT


将session保存到memcache