php session 共享,同步

字体大小: 中小 标准 ->行高大小: 标准
操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");3.启动memcached/etc/init.d/memcached start4. 在程序中使用 memcache 来作 session 存储,用例子测试一下:<?phpsession_start();if (!isset(操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcachesession.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");
3.启动memcached
/etc/init.d/memcached start
___FCKpd___3
 
用 sessionid 去 memcached 里查询一下:<?php$memcache = memcache_connect('192.168.1.105', 11211);var_dump($memcache->get('27f535433865c7e250d2d1062322edfd'));?>
会有看到
string(37) "TEST|i:1219222593;TEST3|i:1219222611;" 

这样的输出,证明session正常工作了。
 
web2 安装
apt-get install php5-memcache
然后修改/etc/php5/apache2/conf.d/memcache.ini 
将extension=memcache.so 前注释去掉。
然后修改/etc/php5/apache2/php.inisession.save_handler = memcachesession.save_path = "tcp://192.168.1.105:11211" 
同样可以用上面的例子做测试.
 
总结
用 memcache 来存储 session 在读写速度上会比 files 时快很多,
而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置
成使用同一组 memcached 服务器就可以,减少了额外的工作量。
缺点是 session 数据都保存在 memory 中,持久化方面有所欠缺,
但对 session 数据来说也不是很大的问题.

SESSION['TEST'])) {    操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcachesession.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");
3.启动memcached
/etc/init.d/memcached start
___FCKpd___3
___FCKpd___4
___FCKpd___5
会有看到
___FCKpd___6
___FCKpd___7___FCKpd___8___FCKpd___9___FCKpd___10___FCKpd___11___FCKpd___12___FCKpd___13___FCKpd___14___FCKpd___15___FCKpd___16___FCKpd___17___FCKpd___18___FCKpd___19___FCKpd___20___FCKpd___21SESSION['TEST'] = time();
}


操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");3.启动memcached/etc/init.d/memcached start___FCKpd___3___FCKpd___4___FCKpd___5会有看到 ___FCKpd___6___FCKpd___7___FCKpd___8___FCKpd___9___FCKpd___10___FCKpd___11___FCKpd___12___FCKpd___13___FCKpd___14___FCKpd___15___FCKpd___16___FCKpd___17___FCKpd___18___FCKpd___19___FCKpd___20___FCKpd___21SESSION['TEST3'] = time();

print 
操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");3.启动memcached/etc/init.d/memcached start___FCKpd___3___FCKpd___4___FCKpd___5会有看到 ___FCKpd___6___FCKpd___7___FCKpd___8___FCKpd___9___FCKpd___10___FCKpd___11___FCKpd___12___FCKpd___13___FCKpd___14___FCKpd___15___FCKpd___16___FCKpd___17___FCKpd___18___FCKpd___19___FCKpd___20___FCKpd___21SESSION['TEST'];
print "<br><br>";
print 
操作系统:ubuntu 7.10
web1 : apache2.24  IP:192.168.1.105
web2: apache2.24 IP:192.168.1.106
php : PHP 5.2.3
 
软件 php5-memcache memcache
web1 安装
      今天想到以前用 nfs 挂载磁盘的笨办法来解决 php session问题,效果是可以但是严重的影响了访问平台速度,今天看php官方网站无意中发现memcache,大侠不要笑我,因为,以前也没太注意此问题,好了下面开始操作。
1。安装memcached,ubuntu懒人方式当然首选 apt-get。apache php5 安装我就不多说了。 
apt-get install memcached php5-memcache
将etc/memcached.conf  中的 127.0.0.1 改成 服务器地址我这里是 192.168.1.105.可以给memcache 单建一个用户去跑服务,默认是nobody,我就不去建了。
将/etc/php5/apache2/conf.d/memcache.ini  里的 extension=memcache.so 前注释去掉。然后重启动apache2 查看 phpinfo 中的 "Registered save handlers" 会有 "files user memcache" 这3个可用。
2。然后修改 /etc/php5/apache2/php.ini
session.save_handler = memcache
session.save_path = "tcp://192.168.1.105:11211"
使用多个 memcached server 时用逗号","隔开
也可以在 .htaccess :
php_value session.save_handler "memcache"
php_value session.save_path  "tcp://192.168.1.105:11211"
再或者在某个一个应用中:
ini_set("session.save_handler", "memcache");ini_set("session.save_path", "tcp://192.168.1.105:11211");3.启动memcached/etc/init.d/memcached start___FCKpd___3___FCKpd___4___FCKpd___5会有看到 ___FCKpd___6___FCKpd___7___FCKpd___8___FCKpd___9___FCKpd___10___FCKpd___11___FCKpd___12___FCKpd___13___FCKpd___14___FCKpd___15___FCKpd___16___FCKpd___17___FCKpd___18___FCKpd___19___FCKpd___20___FCKpd___21SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
___FCKpd___4___FCKpd___5会有看到 ___FCKpd___6___FCKpd___7___FCKpd___8___FCKpd___9___FCKpd___10___FCKpd___11___FCKpd___12___FCKpd___13___FCKpd___14___FCKpd___15___FCKpd___16___FCKpd___17___FCKpd___18___FCKpd___19___FCKpd___20___FCKpd___21

此文章由 www.phpgz.com 收集整理 ,地址为: http://www.phpgz.com/htmls/67494.html

大屏阅读,大屏评论.