在http://bardo.iteye.com/blog/914110这篇文章中,我们已讲了 PHP memcached 的安装方法。 PHP memcached的Session的使用,有哪些问题,这里简述一下:
memcached的session,第一大优点是比PHP session要高效,快速。其次是可以方便实现多主机session共享
使用以下方式使用memcached的session:
单一站点的服务器,可以在php.ini中使用:
session.save_handler "memcached"
session.save_path? "host1:11211,host2:11211"
?session.save_path 中的参数必须是逗号分隔的主机名加端口。主机名也可以使用IP地址。
虽然,服务端都是memcached,但不同于memcache扩展,它不需要在save_path中指定通讯协议
如果服务器有多主机,你要给你当前的虚拟主机配置,则可以配置到.htaccess文件中。格式如下:
php_value session.save_handler "memcached"
php_value session.save_path? "host1:11211,host2:11211"
?注意事项:此时,php.ini中的 session.use_cookies的值必须是1。如果系统中此值不是1,那么在
.htaccess文件中要增加:
php_value session.use_cookies = 1
?如果.heaccess报错,可以参考下面的例子进行修改:
# PHP 4, Apache 1.
? php_value session.save_handler "memcached"
# PHP 4, Apache 2.
? php_value session.save_handler "memcached"
# PHP 5, Apache 1 and 2.
? php_value session.save_handler "memcached"
?.htaccess可以控制到目录级别。而同时,还有可以直接在php代码中控制的方式:
ini_set("session.save_handler", "memcached");
ini_set("session.save_path", "host1:11211,host2:11211");
然而,这也要看你PHP的运行模式,如果是 mod_php方式, .htaccess是可以修改的, 但是如果你安装的是
fast_cgi,那么,你需要php_fpm来管理不同的php.ini。如果是mod_fcgid,那么,就要用FcgidInitialEnv
PHPRC "/dirOfPhiIni" 来设置不同的php.ini,但是,FcgidInitialEnv是新版本的中的命令。老板本的则是
DefaultInitEnv。有些版本有BUG,不一定能设置成功。而对于suPHP,则也需要在其配置中指定不同的配置
目录。
以下是 mod_fcgid 的一个配置实例:
#httpd.conf
LoadModule php5_module /php/php5apache2_2.dll
LoadModule fcgid_module modules/mod_fcgid.so
PHPIniDir /php
# whatever directives wanted bla bla bla
# Use same php.ini as mod_php globally for mod_fcgid
FcgidInitialEnv PHPRC "/php"
#httpd-vhost.conf
#using mod_php and /php/php.ini
??? ServerName php.example.com
??? DocumentRoot "/home/htdocs"
#using mod_fcgid and /home/user1/php.ini
??? ServerName user1.example.com
??? DocumentRoot "/home/user1/htdocs"
????? FcgidInitialEnv PHPRC "/home/user1"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
#using mod_fcgid and /home/user2/php.ini
??? ServerName user2.example.com
??? DocumentRoot "/home/user2/htdocs"
????? FcgidInitialEnv PHPRC "/home/user2"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
#using mod_fcgid and global php.ini
??? ServerName user3.example.com
??? DocumentRoot "/home/user3/htdocs"
????? AddHandler fcgid-script .php
????? FcgidWrapper "/php/php-cgi.exe" .php
如果这些所有针对站点设置的都行不通,那你只能够使用代码的方法区别对待了。
代码中使用,一种可以直接调用ini_set, 还有一种,就是用 memcached自己写一个 session类,然后,映身
session函数到你写的session类中,这一点网上也是有例子的,所以,也不用多讲了。
相关文章推荐
• 关于phpcms 中头像下传 那位高手说上怎么实现的• CI框架源码阅览-Model.php • PHP无法刷新的有关问题 • 一段asp程序用php应该如何写 • php for 循环思路问题独孤九贱(3)_JavaScript视频教程
javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。
JavaScript教程140598次播放
独孤九贱(6)_jQuery视频教程
jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。
jQuery教程115501次播放
jQuery与Ajax基础与实战
jQuery是最流行的JS函数库,封装了许多实用的功能,其中最引人入胜的就是Ajax。 jQuery中的Ajax操作,语法简单,操作方便,使Ajax从未如此轻松,前端人员从此不再为与服务器异步交互而发愁,本套课程,精选了最常用的几个方法,从基本的语法到每个参数,再到具体实例进行了全面的讲解。
AJAX教程15176次播放
Git教程(60分钟全程无废话版)
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持
JavaScript教程13313次播放