当前位置: 首页 > news >正文

网站怎么推广效果好云南网站开发软件

网站怎么推广效果好,云南网站开发软件,wordpress主题 汉化,建网站做哪方面对于大访问量的网站来说#xff0c;会有许多的客户端和服务端建立链接#xff0c;就会生成许多 Session 文件#xff0c;由于 Session 文件是存储在硬盘上的#xff0c;因此每次服务器去读取这些 Session 文件都要经过许多的 I/O 操作。PHP 中可使用 session_set_save_hand…对于大访问量的网站来说会有许多的客户端和服务端建立链接就会生成许多 Session 文件由于 Session 文件是存储在硬盘上的因此每次服务器去读取这些 Session 文件都要经过许多的 I/O 操作。PHP 中可使用 session_set_save_handle() 函数自定义 Session 保存函数(如打开、关闭、写入、读取等)其语法如下bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc [, callable $create_sid ] )如果想使用 PHP 内置的会话存储机制之外的方式可以使用本函数。例如可以自定义会话存储函数来将会话数据存储到数据库。该函数的参数说明如下open(string$savePathstring$sessionName)open 回调函数类似于类的构造函数在会话打开的时候被调用。这是自动开始会话或者通过调用 session_start() 手动开始会话之后第一个被调用的回调函数。此回调函数操作成功返回 true反之返回 false。close()close 回调函数类似于类的析构函数。在 write 回调函数调用之后调用。当调用 session_write_close() 函数之后也会调用 close 回调函数。此回调函数操作成功返回 true反之返回 false。read(string$sessionId)如果会话中有数据那么 read 回调函数必须返回将会话数据编码(序列化)后的字符串。如果会话中没有数据read 回调函数就返回空字符串。在自动开始会话或者通过调用 session_start() 函数手动开始会话之后PHP 内部调用 read 回调函数来获取会话数据。在调用 read 之前PHP 会调用 open 回调函数。read 回调返回的序列化之后的字符串格式必须与 write 回调函数保存数据时的格式完全一致。PHP 会自动反序列化返回的字符串并填充 $_SESSION 超级全局变量。虽然数据看起来和 serialize() 函数很相似但是它们是不同的。write(string$sessionIdstring$data)在会话保存数据时会调用 write 回调函数。此回调函数接收当前会话 ID 以及 $_SESSION 中数据序列化之后的字符串作为参数。序列化会话数据的过程由 PHP 根据 session.serialize_handler 设定值来完成。序列化后的数据将和会话 ID 关联在一起进行保存。当调用 read 回调函数获取数据时所返回的数据必须和传入 write 回调函数的数据完全保持一致。PHP 会在脚本执行完毕或调用 session_write_close() 函数之后调用此回调函数。注意在调用完此回调函数之后PHP 内部会调用 close 回调函数。PHP 会在输出流写入完毕并且关闭之后才调用 write 回调函数所以在 write 回调函数中的调试信息不会输出到浏览器中。如果需要在 write 回调函数中使用调试输出建议将调试输出写入到文件。destroy($sessionId)当调用 session_destroy() 函数或者调用 session_regenerate_id() 函数并且设置 destroy 参数为 true 时会调用此回调函数。此回调函数操作成功返回 true反之返回 false。gc($lifetime)为了清理会话中的旧数据PHP 会不时地调用垃圾收集回调函数。调用周期由 session.gc_probability 和 session.gc_divisor 参数控制。传入到此回调函数的 lifetime 参数由 session.gc_maxlifetime 设置。此回调函数操作成功返回 true反之返回 false。create_sid()当需要新的会话 ID 时被调用的回调函数。回调函数被调用时无传入参数其返回值应该是一个字符串格式的、有效的会话 ID。PHP 使用 Redis 来存储 Session下面举一个关于使用 Redis 代替文件存储 Session 的例子。首先编写一个管理 Session 的类 sessionmanager代码如下class sessionmanager{private $redis;private $sessionsavepath;private $sessionname;public function __construct(){$this-redis new Redis();$this-redis-connect(10.116.19.14,6400);$reval session_set_save_handler(array($this,open),array($this,close),array($this,read),array($this,write),array($this,destroy),array($this,gc));session_start();}public function open($patn,$name){return true;}public function close(){return true;}public function read($id){$value $this-redis-get($id);if($value) {return $value;} else {return false;}}public function write($id,$data){if($this-redis-set($id,$data)) {$this-redis-expire($id,60);return true;} else {return false;}}public function destroy($id) {if($this-redis-delete($id)) {return true;}return false;}public function gc($maxlifetime){return true;}public function __destruct(){session_write_close();//TODO: Implement __destruct() method.}}?将以上代码保存为 sessionmanager.php 文件。在该类的构造函数中使用 session_set_save_handler() 设置 Session 的处理函数实例化该类时便完成了用指定函数接管系统处理 Session 的工作。在 write 回调函数中以传入的 sessionID 作为 key以 Session 的值作为 redis 中 key 的值存入 Redis并设置过期时间为 60 秒read 方法以传入的 sessionID 为 key 从 Redis 取出相应的 Session 值。destroy 可根据传入的 sessionID 删除 Redis 中的 Session。我们编写另外一个设置 Session 的脚本并引入 sessionmanager.php 文件实例化 sessionmanager 类代码如下include sessionmanager.php;new sessionmanager();$_SESSION[namehaha] lixiaolong;$_SESSION[namehah] lixiaolong;$_SESSION[namehaa] lixiaolong;$_SESSION[namhaha] lixiaolong;$_SESSION[namhaha] array(a1,2,3,4,4);?保存以上代码为 set.php另外编写一个可访问 Session 的脚本代码如下include sessionmanager.php;new sessionmanager();var_dump($_SESSION);?保存以上代码为 get.php 文件。测试时先访问 set.php再访问 get.php会在浏览器中输出以下结果array(4){[namehaha] string(10) lixiaolong[namehah] string(10) lixiaolong[namehaa] string(10) lixiaolong[namhaha] array(5){[a] int(1)[0] int(2)[1] int(3)[2] int(4)[3] int(4)}}可见已经成功地设置并获得了 Session。查看 redis 中存储的 Session 信息redis 127.0.0.1:6400 get ruevh62hlm809d1p2lg2o0fbv7namehaha|s:10:\lixiaolong\;namehah|s:10:\lixiaolong\; namehaa|s:10:\lixiaolong\;namhaha|a:5:{s:1:\a\;i:1;i:0;i:2;i:1;i:3;i:2;i:4;i:3;i:4;}redis 中是以 string 的数据类型存储 Session 的其 key 便是 sessionID也是 HTTP Request 中的 cookie 名为 PHPSESSID 的值。Session 在 redis 和文件中的存储形式是一样的只不过在 redis 中对双引号做了转义而已。
http://wiki.neutronadmin.com/news/147635/

相关文章:

  • 齐齐哈尔企业网站排名优化wordpress忘记账号密码
  • 自媒体平台网站开发杭州电子商务网站建设公司
  • 苏州市优化网站推广哪家好游戏网站风控怎么做
  • 如何快速模仿一个网站怎么删除一个wordpress
  • 惠州建设局网站泉做网站的公司
  • 一般建站需要多少钱wordpress积分
  • 创建网站公司 徐州岳塘区建设路街道网站
  • 上海工商网站官网wordpress语言切换 seo
  • 网上接工程活做的网站巨量引擎广告投放平台代理
  • 邯郸网站建设网络公司五金公司网站模板
  • js网站建设苏州建网站的公司哪家口碑好
  • 如果自己做网站卖设备厦门市建设局官方网站
  • 国家企业信息查询网站老君山旅游网页设计模板
  • 网站建设基本流程前期深圳做网站网络公司怎么样
  • 搭建网站难吗南京一对一网站建设
  • 网站获取qq网站建设对于企业的必要性
  • 格尔木网站建设公司外包一个项目多少钱
  • 泰安市网站建设wordpress是PHP框架吗
  • 昆山企业网站设计网站建设技能考试
  • 网站被降权恢复推广公司怎么接活
  • 电商网站开发 报价wordpress中文主题下载
  • 神华集团两学一做网站图片制作表情
  • 成都pc网站建设网站建设与管理学习收获
  • 海会主机做的网站都能干什么的企业画册宣传设计
  • 上海商地网站建设公司网络服务商和网络运营商
  • 临颖网站建设网络设计方案3000字
  • 乌海建设网站高端企业网站建设
  • 辽宁丹东建设工程信息网站网站500m空间够用吗
  • 无锡专业网站营销wordpress插件使用模板
  • 模拟登录 wordpress青岛网站快速排名优化