位置: 编程技术 - 正文

Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

编辑:rootadmin

推荐整理分享Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了Ubuntu server .安装memcache及php使用memcache来存储session的方法。分享给大家供大家参考,具体如下:

1、首先安装memcache服务端:

安装完成后系统 自动启动了 memcached服务占用端口

如需重新配置端口的服务 需要关闭已开启的memcached服务

手动启动:

这里需要说明一下memcached服务的启动参数:

-p 监听的端口-l 连接的IP地址, 默认是本机-d start 启动memcached服务-d restart 重起memcached服务-d stop|shutdown 关闭正在运行的memcached服务-d install 安装memcached服务-d uninstall 卸载memcached服务-u 以的身份运行 (仅在以root运行的时候有效)-m 最大内存使用,单位MB。默认MB-M 内存耗尽时返回错误,而不是删除项-c 最大同时连接数,默认是-f 块大小增长因子,默认是1.-n 最小分配空间,key+value+flags默认是-h 显示帮助

2、安装PHP Memecache 客户端

重启web服务器

测试memcache代码:

用memcache存储session

一般地, Session 是以文本文件形式存储在服务器端的。如果使用 Seesion,或者该 PHP 文件要调用 Session 变量,那么就必须在调用 Session 之前启动它,使用 session_start() 函数。其它都不需要你设置了,PHP 自动完成 Session 文件的创建。其默认 Session 的存放路径是服务器的系统临时文件夹。

但是如果碰到大数据量的Sesstion的时候, 使用基于文件的Session存取瓶颈可能都是在磁盘IO操作上,现在利用Memcached来保存Session数据,直接通过内存的方式,效率自然能够提高不少。 在读写速度上会比 files 时快很多,而且在多个服务器需要共用 session 时会比较方便,将这些服务器都配置成使用同一组 memcached 服务器就可以,减少了额外的工作量。

其缺点是 session 数据都保存在 memory 中,一旦宕机,数据将会丢失。但对 session 数据来说并不是严重的问题。

如何用 memcached 来存储 session呢?以下是基本的配置步骤:

1. 安装 memcached (略过,不清楚的筒子可以查看前面一篇文章: phpinfo 输出中的 "Registered save handlers" 会有 "files user sqlite"。

2. 修改配置文件,

①. 在 php.ini 中全局设置(* 需要重启服务器)

Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

②. 或者某个目录下的 .htaccess :

③. 也可以在某个一个应用中:

ini_set("session.save_handler", "memcache");ini_set("session.save_path", " memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数"persistent"、"weight"、"timeout"、"retry_interval" 等等,类似这样的:

" 。

3. 启动 memcached

4.测试 创建一个 session

5. 用 sessionid 去 memcached 里查询一下

输出结果:

string() "admin|s:3:"wan";"

证明 session 正常工作。

再次深入 多域名网站利用MEMCACHE方式共享SESSION数据

通过了解 SESSION 的工作原理,我们可以发现,在默认情况下,各个服务器会各自分别对同一个客户端产生 SESSION ID,如对于同一个用户浏览器,A 服务器产生的 SESSION ID 是 de1e9deba6ceda1b6a0a,而 B 服务器生成的则是 cafa8bc0feafe3bbb。另外,PHP 的 SESSION 数据都是分别保存在本服务器的文件系统中。

确定了问题所在之后,就可以着手进行解决了。想要共享 SESSION 数据,那就必须实现两个目标:一个是各个服务器对同一个客户端产生的 SESSION ID 必须相同,并且可通过同一个 COOKIE 进行传递,也就是说各个服务器必须可以读取同一个名为 PHPSESSID 的 COOKIE;另一个是 SESSION 数据的存储方式/位置必须保证各个服务器都能够访问到。简单地说就是多服务器共享客户端的 SESSION ID,同时还必须共享服务器端的 SESSION 数据。

第一个目标的实现其实很简单,只需要对 COOKIE 的域(domain)进行特殊地设置即可,默认情况下,COOKIE 的域是当前服务器的域名/IP 地址,而域不同的话,各个服务器所设置的 COOKIE 是不能相互访问的,如 www.aaa.com 的服务器是不能读写 www.bbb.com 服务器设置的 COOKIE 的。这里我们所说的同一网站的服务器有其特殊性,那就是他们同属于同一个一级域,如:tieba.xiaoyuan.com 和 www.xiaoyuan.com 都属于域 .xiaoyuan.com,那么我们就可以设置 COOKIE 的域为 .xiaoyuan.com,这样 tieba.xiaoyuan.com、www.xiaoyuan.com 等等都可以访问此 COOKIE。PHP 代码中的设置方法如下:

这样各个服务器共享同一客户端 SESSION ID 的目的就达到了。

于是 可以在 a.domain.com 下

session.php

在b.domain.com下

session2.php

希望本文所述对大家Ubuntu平台上的php程序设计有所帮助。

深入理解PHP之OpCode原理详解 本文实例讲述了PHP中OpCode的原理。分享给大家供大家参考,具体如下:OpCode是一种PHP脚本编译后的中间语言,就像Java的ByteCode,或者.NET的MSL。此文主要基

深入理解PHP原理之执行周期分析 本文讲述了PHP原理之执行周期。分享给大家供大家参考,具体如下:PHP的执行周期,从最初我们编写的PHP脚本-到最后脚本被执行-得到执行结果,这个过

深入理解PHP之源码目录结构与功能说明 本文讲述了PHP源码目录结构与功能说明。分享给大家供大家参考,具体如下:PHP之所以能在web开发语言中排名靠前,不仅仅是因为语法简单,上手容易

标签: Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法

本文链接地址:https://www.jiuchutong.com/biancheng/296268.html 转载请保留说明!

上一篇:php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案(php json格式)

下一篇:深入理解PHP之OpCode原理详解(php的oop的理解)

  • 息税前利润和销售利润
  • 小规模纳税人征税率为多少
  • 增值税报税后多久缴纳期限
  • 培训费发票开具的要求
  • 坏账核销计入营业利润吗
  • 个人投资企业投资人签字
  • 企业滞留发票的产生和处理
  • 零息债券支付利息吗
  • 增值税一般计税方法
  • 员工出差火车票可以抵扣进项吗
  • 营改增医院增值税
  • 超市商品售出可以退货吗
  • 补开的银行手续费发票怎么做账
  • 发票先收到下个月才付款
  • 收回员工社保入什么科目
  • 公司工资发放错误怎么退回
  • 股东出资不做股本做借款该怎么写分录?
  • 注销企业时所有权怎么办
  • 企业间借款利息涉税处理
  • 公司在走注销流程被起诉了怎么办
  • 个人能去税务局开普票吗
  • 合并报表盈余公积跟母公司有什么关系
  • 教学用品采购
  • 债转股的税收政策
  • 增值税发票开具错误重开该怎么做会计分录?
  • 出口信用证议付支出是什么
  • 社保已申报但未缴费有什么影响
  • 视同销售的企业所得税汇缴表怎么填列?
  • 企业计算缴纳的所得税费用
  • 其他应付款调整到其他应收款
  • 支付知识产权服务费账务处理
  • 赠品怎么做账务分录
  • 如何显示或隐藏编辑标记
  • pc安装苹果系统
  • 路由器登录密码忘了怎么设置
  • 库存现金盘亏处理流程
  • 【AIGC】1、爆火的 AIGC 到底是什么 | 全面介绍
  • php计算时间
  • thinkphp框架介绍
  • 手把手教你使用opc
  • 接受投资收到的现金计入
  • 无形资产摊销怎么算月摊销额
  • vue路由的理解
  • 阿里规则官方头条
  • 新购入的汽车需要年检吗
  • 个体户个人所得税税率表
  • json 处理
  • mongodb运行
  • 不动产的进项税额转出
  • 制造费用和生产成本结转
  • 销售车位应怎么交税
  • 银行手续费未开发票前计入什么科目
  • 小规模纳税人水利基金税率
  • 企业的纳税申报数据来源于
  • 以红字冲回
  • 应收账款计提坏账影响利润吗
  • 社保缓缴政策2020
  • 信用减值损失在利润表怎么填列
  • 垃圾清运费会计处理
  • 收到质保金怎么写收据
  • 利息收入和应收利息的区别
  • 私营公司固定资产怎么查
  • linux0.12内核代码多少行
  • linux命令行图片
  • 为了保证系统安全,必须为用户和角色设置密码
  • Android开发简单购物界面
  • node.js教程详细
  • 简述android应用的常用开发模式及其优缺点
  • ie6-ie10的浏览器
  • Linux 下mysql通过存储过程实现批量生成记录
  • js日期格式化方法
  • js实现@功能
  • Unity destructor Or OnDestory
  • js数组entries
  • Android Path和PathMeasure类的使用之获取圆弧上的坐标值
  • jQuery插件封装时如要实现链式编程,需要
  • 粮食购销企业税收服务
  • 江苏省税务局书记局长
  • 地方税务局工作内容
  • 税务局发票邮寄需要多久
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设